Continue Updating HelpMessages and Comments
This commit is contained in:
@@ -1,21 +1,45 @@
|
||||
function Get-ZertoTask {
|
||||
[cmdletbinding( DefaultParameterSetName = "main" )]
|
||||
param (
|
||||
[Parameter( ParameterSetName = "taskIdentifier" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "taskIdentifier",
|
||||
HelpMessage = "The identifier(s) for which task information is to be returned."
|
||||
)]
|
||||
[string[]]$taskIdentifier,
|
||||
[Parameter( ParameterSetName = "types" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "types",
|
||||
HelpMessage = "Returns all task types."
|
||||
)]
|
||||
[switch]$types,
|
||||
[Parameter ( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "Tasks started before this time (inclusive) are displayed. Valid formats include: 'yyyy-MM-ddTHH:mm:ss.fffZ', 'yyyy-MM-ddTHH:mm:ssZ', 'yyyy-MM-ddTHH:mmZ', 'yyyy-MM-ddTHHZ', 'yyyy-MM-dd', 'yyyy-MM', 'yyyy'. Adding Z to the end of the time sets the time to UTC."
|
||||
)]
|
||||
[string]$startedBeforeDate,
|
||||
[Parameter ( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "Tasks started after this time (inclusive) are displayed. Valid formats include: 'yyyy-MM-ddTHH:mm:ss.fffZ', 'yyyy-MM-ddTHH:mm:ssZ', 'yyyy-MM-ddTHH:mmZ', 'yyyy-MM-ddTHHZ', 'yyyy-MM-dd', 'yyyy-MM', 'yyyy'. Adding Z to the end of the time sets the time to UTC."
|
||||
)]
|
||||
[string]$startedAfterDate,
|
||||
[Parameter ( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "Tasks completed after this time (inclusive) are displayed. Valid formats include: 'yyyy-MM-ddTHH:mm:ss.fffZ', 'yyyy-MM-ddTHH:mm:ssZ', 'yyyy-MM-ddTHH:mmZ', 'yyyy-MM-ddTHHZ', 'yyyy-MM-dd', 'yyyy-MM', 'yyyy'. Adding Z to the end of the time sets the time to UTC."
|
||||
)]
|
||||
[string]$completedAfterDate,
|
||||
[Parameter ( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "Tasks completed before this time (inclusive) are displayed. Valid formats include: 'yyyy-MM-ddTHH:mm:ss.fffZ', 'yyyy-MM-ddTHH:mm:ssZ', 'yyyy-MM-ddTHH:mmZ', 'yyyy-MM-ddTHHZ', 'yyyy-MM-dd', 'yyyy-MM', 'yyyy'. Adding Z to the end of the time sets the time to UTC."
|
||||
)]
|
||||
[string]$completedBeforeDate,
|
||||
[Parameter ( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The type of task. For the description of the tasks, refer to the Zerto Virtual Replication documentation about monitoring tasks. Please see Zerto API Documentation for possible types and values."
|
||||
)]
|
||||
[string]$type,
|
||||
[Parameter ( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The status of the task. Possible values are: '1' or 'InProgress', '3' or 'Paused', '4' or 'Failed', '6' or 'Completed', '7' or 'Cancelling'"
|
||||
)]
|
||||
[string]$status
|
||||
)
|
||||
|
||||
@@ -25,17 +49,22 @@ function Get-ZertoTask {
|
||||
}
|
||||
|
||||
process {
|
||||
# Process based on ParameterSetName
|
||||
switch ( $PSCmdlet.ParameterSetName ) {
|
||||
|
||||
# If function is called without parameters, return all events.
|
||||
"main" {
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $baseUri
|
||||
}
|
||||
|
||||
# If function is called with Filter ParameterSetName, build filter and return results
|
||||
"filter" {
|
||||
$filter = Get-ZertoApiFilter -filterTable $PSBoundParameters
|
||||
$uri = "{0}{1}" -f $baseUri, $filter
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
|
||||
# If taskIdentifier(s) is supplied, return information for each id supplied.
|
||||
"taskIdentifier" {
|
||||
$returnObject = foreach ( $id in $taskIdentifier ) {
|
||||
$uri = "{0}/{1}" -f $baseUri, $id
|
||||
@@ -43,8 +72,9 @@ function Get-ZertoTask {
|
||||
}
|
||||
}
|
||||
|
||||
# If a different ParameterSetName is supplied, use that to build the URI and submit.
|
||||
default {
|
||||
$uri = "{0}/{1}" -f $baseUri, $PSCmdlet.ParameterSetName
|
||||
$uri = "{0}/{1}" -f $baseUri, $PSCmdlet.ParameterSetName.ToLower()
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,37 +1,121 @@
|
||||
function Get-ZertoVirtualizationSite {
|
||||
[cmdletbinding( DefaultParameterSetName = "main" )]
|
||||
param(
|
||||
[Parameter( ParameterSetName = "siteIdentifier", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "datastoreClusters", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "datastores", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "hostClusters", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "hosts", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "networks", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "resourcePools", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "vms", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "devices", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "folders", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "siteIdentifier",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the Zerto Virtual Manager site."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "datastoreClusters",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the Zerto Virtual Manager site."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "datastores",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the Zerto Virtual Manager site."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "hostClusters",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the Zerto Virtual Manager site."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "hosts",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the Zerto Virtual Manager site."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "networks",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the Zerto Virtual Manager site."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "resourcePools",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the Zerto Virtual Manager site."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "vms",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the Zerto Virtual Manager site."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "devices",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the Zerto Virtual Manager site."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "folders",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the Zerto Virtual Manager site."
|
||||
)]
|
||||
[string]$siteIdentifier,
|
||||
[Parameter( ParameterSetName = "datastoreClusters", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "datastoreClusters",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "When selected, will return all datastore clusters at the specified site."
|
||||
)]
|
||||
[switch]$datastoreClusters,
|
||||
[Parameter( ParameterSetName = "datastores", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "datastores",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "When selected, will return all datastores at the specified site."
|
||||
)]
|
||||
[switch]$datastores,
|
||||
[Parameter( ParameterSetName = "devices", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "devices",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "When selected, will return all devices at the specified site."
|
||||
)]
|
||||
[switch]$devices,
|
||||
[Parameter( ParameterSetName = "devices", Mandatory = $false )]
|
||||
[Parameter( ParameterSetName = "hosts", Mandatory = $false )]
|
||||
[Parameter(
|
||||
ParameterSetName = "devices",
|
||||
andatory = $false,
|
||||
HelpMessage = "The identifier of the host for which to return all devices."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "hosts",
|
||||
andatory = $false,
|
||||
HelpMessage = "The identifier of the host at the selected site to return information for only one host."
|
||||
)]
|
||||
[string]$hostIdentifier,
|
||||
[Parameter( ParameterSetName = "folders", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "folders",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Return all folders at the selected site."
|
||||
)]
|
||||
[switch]$folders,
|
||||
[Parameter( ParameterSetName = "hostClusters", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "hostClusters",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Return all host clusters at the selected site."
|
||||
)]
|
||||
[switch]$hostClusters,
|
||||
[Parameter( ParameterSetName = "hosts", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "hosts",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Return all hosts at the selected site. If a host identifier is provided, return only that host."
|
||||
)]
|
||||
[switch]$hosts,
|
||||
[Parameter( ParameterSetName = "networks", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "networks",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Return all networks at the selected site."
|
||||
)]
|
||||
[switch]$networks,
|
||||
[Parameter( ParameterSetName = "resourcePools", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "resourcePools",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Return all resource pools at the selected site."
|
||||
)]
|
||||
[switch]$resourcePools,
|
||||
[Parameter( ParameterSetName = "vms", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "vms",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Return all VMs at the selected site."
|
||||
)]
|
||||
[switch]$vms
|
||||
)
|
||||
|
||||
@@ -41,11 +125,16 @@ function Get-ZertoVirtualizationSite {
|
||||
}
|
||||
|
||||
process {
|
||||
# Return information based on ParameterSetName invoked.
|
||||
switch ( $PSCmdlet.ParameterSetName ) {
|
||||
|
||||
# If no ParameterSetName is specified, return all data
|
||||
"main" {
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $baseUri
|
||||
}
|
||||
|
||||
# If devices is specified along with a hostId, build return just that host information, otherwise return all devices at the site
|
||||
#TODO - remove foreach, only one siteIdentifier can be specified.
|
||||
"devices" {
|
||||
$returnObject = foreach ( $id in $siteIdentifier ) {
|
||||
if ( $PSBoundParameters.ContainsKey( "hostIdentifier" ) ) {
|
||||
@@ -57,6 +146,7 @@ function Get-ZertoVirtualizationSite {
|
||||
}
|
||||
}
|
||||
|
||||
# If hosts is specified along with a hostID, build and return just that host information, otherwise return all hosts at the site
|
||||
"hosts" {
|
||||
if ( $PSBoundParameters.ContainsKey( "hostIdentifier" ) ) {
|
||||
$uri = "{0}/{1}/hosts/{2}" -f $baseUri, $siteIdentifier, $hostIdentifier
|
||||
@@ -66,11 +156,13 @@ function Get-ZertoVirtualizationSite {
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
|
||||
# If siteIdentifier is specified, return information for that site.
|
||||
"siteIdentifier" {
|
||||
$uri = "{0}/{1}" -f $baseUri, $id
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
|
||||
# If a different ParameterSetName is selected, use that information to build the URI and return that information
|
||||
default {
|
||||
$uri = "{0}/{1}/{2}" -f $baseUri, $siteIdentifier, $PSCmdlet.ParameterSetName.ToLower()
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
|
||||
@@ -1,15 +1,30 @@
|
||||
function Get-ZertoVolume {
|
||||
[cmdletbinding( DefaultParameterSetName = "main" )]
|
||||
param(
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The type of volume. Please see Zerto API Documentation for possible values."
|
||||
)]
|
||||
[string]$volumeType,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The identifier of the VPG."
|
||||
)]
|
||||
[string]$vpgIdentifier,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The identifier of the datastore."
|
||||
)]
|
||||
[string]$datastoreIdentifier,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The identifier of the protected virtual machine."
|
||||
)]
|
||||
[string]$protectedVmIdentifier,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The identifier of the owning virtual machine."
|
||||
)]
|
||||
[string]$owningVmIdentifier
|
||||
)
|
||||
|
||||
@@ -19,13 +34,17 @@ function Get-ZertoVolume {
|
||||
}
|
||||
|
||||
process {
|
||||
# Process based on ParameterSetName
|
||||
switch ( $PSCmdlet.ParameterSetName ) {
|
||||
|
||||
# If a filter is defined, build the query string and return selected information
|
||||
"filter" {
|
||||
$filter = Get-ZertoApiFilter -filterTable $PSBoundParameters
|
||||
$uri = "{0}{1}" -f $baseUri, $filter
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
|
||||
# Default action is to return all Volumes.
|
||||
default {
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $baseUri
|
||||
}
|
||||
|
||||
@@ -1,56 +1,145 @@
|
||||
function Get-ZertoVpg {
|
||||
[cmdletbinding( DefaultParameterSetName = "main" )]
|
||||
param(
|
||||
[Parameter( ParameterSetName = "protectionGroupIdentifier", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "checkpoints", Mandatory = $true )]
|
||||
[Parameter( ParameterSetName = "stats", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "protectionGroupIdentifier",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier(s) of the Virtual Protection Group to return"
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "checkpoints",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier(s) of the Virtual Protection Group to return"
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "stats",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier(s) of the Virtual Protection Group to return"
|
||||
)]
|
||||
[string[]]$protectionGroupIdentifier,
|
||||
[Parameter( ParameterSetName = "checkpoints", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "checkpoints",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Return checkpoints for the selected Virtual Protection Group."
|
||||
)]
|
||||
[switch]$checkpoints,
|
||||
[Parameter ( ParameterSetName = "checkpoints")]
|
||||
[Parameter(
|
||||
ParameterSetName = "checkpoints",
|
||||
HelpMessage = "Return checkpoints after the specified start date. Valid formats include: 'yyyy-MM-ddTHH:mm:ss.fffZ', 'yyyy-MM-ddTHH:mm:ssZ', 'yyyy-MM-ddTHH:mmZ', 'yyyy-MM-ddTHHZ', 'yyyy-MM-dd', 'yyyy-MM', 'yyyy'. Adding Z to the end of the time sets the time to UTC."
|
||||
)]
|
||||
[string]$startDate,
|
||||
[Parameter ( ParameterSetName = "checkpoints")]
|
||||
[Parameter(
|
||||
ParameterSetName = "checkpoints",
|
||||
HelpMessage = "Return checkpoints before the specified start date. Valid formats include: 'yyyy-MM-ddTHH:mm:ss.fffZ', 'yyyy-MM-ddTHH:mm:ssZ', 'yyyy-MM-ddTHH:mmZ', 'yyyy-MM-ddTHHZ', 'yyyy-MM-dd', 'yyyy-MM', 'yyyy'. Adding Z to the end of the time sets the time to UTC."
|
||||
)]
|
||||
[string]$endDate,
|
||||
[Parameter( ParameterSetName = "stats", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "stats", Mandatory = $true,
|
||||
HelpMessage = "Return earliest and latest checkpoints for the selected Virtual Protection Group"
|
||||
)]
|
||||
[switch]$checkpointsStats,
|
||||
[Parameter( ParameterSetName = "entityTypes", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "entityTypes",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Return Valid VPG entityTypes"
|
||||
)]
|
||||
[switch]$entityTypes,
|
||||
[Parameter( ParameterSetName = "failoverCommitPolicies", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "failoverCommitPolicies",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Valid Failover Commit Policies"
|
||||
)]
|
||||
[switch]$failoverCommitPolicies,
|
||||
[Parameter( ParameterSetName = "failoverShutdownPolicies", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "failoverShutdownPolicies",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Valid Failover Shutdown Policies"
|
||||
)]
|
||||
[switch]$failoverShutdownPolicies,
|
||||
[Parameter( ParameterSetName = "priorities", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "priorities",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Valid VPG priorities"
|
||||
)]
|
||||
[switch]$priorities,
|
||||
[Parameter( ParameterSetName = "retentionPolicies", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "retentionPolicies",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Valid retention policies"
|
||||
)]
|
||||
[switch]$retentionPolicies,
|
||||
[Parameter( ParameterSetName = "statuses", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "statuses",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Valid VPG statuses"
|
||||
)]
|
||||
[switch]$statuses,
|
||||
[Parameter( ParameterSetName = "subStatuses", Mandatory = $true )]
|
||||
[Parameter(
|
||||
ParameterSetName = "subStatuses",
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Valid VPG sub statuses"
|
||||
)]
|
||||
[switch]$subStatuses,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The name of the VPG."
|
||||
)]
|
||||
[string]$name,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The status of the VPG. Please use 'Get-ZertoVpg -statuses' for valid values"
|
||||
)]
|
||||
[string]$status,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The substatus of the VPG. Please use 'Get-ZertoVpg -substatuses' for valid values"
|
||||
)]
|
||||
[string]$subStatus,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The protected site environment. This filter behaves in the same way as the sourceType filter. Please see Zerto API Documentation for vaild values and discriptions."
|
||||
)]
|
||||
[string]$protectedSiteType,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The recovery site environment. This filter behaves in the same way as the sourceType filter. Please see Zerto API Documentation for vaild values and discriptions."
|
||||
)]
|
||||
[string]$recoverySiteType,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The identifier of the protected site where the VPG virtual machines are protected."
|
||||
)]
|
||||
[string]$protectedSiteIdentifier,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The identifier of the protected site where the VPG virtual machines are recovered."
|
||||
)]
|
||||
[string]$recoverySiteIdentifier,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The ZORG for this VPG."
|
||||
)]
|
||||
[string]$organizationName,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The internal identifier for the ZORG."
|
||||
)]
|
||||
[string]$zorgIdentifier,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The VPG priority. Possible values are: '0' or 'Low', '1' or 'Medium', '2' or 'High'"
|
||||
)]
|
||||
[string]$priority,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "The identifier of the service profile to use for the VPG when a Zerto Cloud Manager is used."
|
||||
)]
|
||||
[string]$serviceProfileIdentifier,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[string]$backupEnabled
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "If backup is enabled."
|
||||
)]
|
||||
[switch]$backupEnabled
|
||||
)
|
||||
begin {
|
||||
$baseUri = "vpgs"
|
||||
@@ -58,11 +147,15 @@ function Get-ZertoVpg {
|
||||
}
|
||||
|
||||
Process {
|
||||
# Process based on ParameterSetName
|
||||
switch ( $PSCmdlet.ParameterSetName ) {
|
||||
|
||||
# When called with no parameters, return all values
|
||||
"main" {
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $baseUri
|
||||
}
|
||||
|
||||
# When called with protectionGroupIdentifier, query for each id provided
|
||||
"protectionGroupIdentifier" {
|
||||
$returnObject = foreach ( $vpgId in $protectionGroupIdentifier ) {
|
||||
$uri = "{0}/{1}" -f $baseUri, $vpgId
|
||||
@@ -70,6 +163,7 @@ function Get-ZertoVpg {
|
||||
}
|
||||
}
|
||||
|
||||
# When checkpoints is called, determine if a filter is needed and query with or without the filter.
|
||||
"checkpoints" {
|
||||
$filter = $false
|
||||
if ( $PSBoundParameters.ContainsKey("startDate") -or $PSBoundParameters.ContainsKey("endDate") ) {
|
||||
@@ -92,6 +186,7 @@ function Get-ZertoVpg {
|
||||
}
|
||||
}
|
||||
|
||||
# When stats are requested
|
||||
"stats" {
|
||||
$returnObject = foreach ( $id in $protectionGroupIdentifier ) {
|
||||
$uri = "{0}/{1}/checkpoints/stats" -f $baseUri, $id
|
||||
@@ -99,12 +194,14 @@ function Get-ZertoVpg {
|
||||
}
|
||||
}
|
||||
|
||||
# When filtering for VPGs build query string and return events
|
||||
"filter" {
|
||||
$filter = Get-ZertoApiFilter -filterTable $PSBoundParameters
|
||||
$uri = "{0}{1}" -f $baseUri, $filter
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
|
||||
# Default is to build URI based on ParameterSetName and return results.
|
||||
default {
|
||||
$uri = "{0}/{1}" -f $baseUri, $PSCmdlet.ParameterSetName.ToLower()
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
|
||||
@@ -8,209 +8,249 @@ function Get-ZertoVpgSetting {
|
||||
ParameterSetName = "vpgSettingsIdentifier",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromPipelineByPropertyName = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "backup",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromPipelineByPropertyName = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "dayOfWeek",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromPipelineByPropertyName = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "retentionPeriod",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromPipelineByPropertyName = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "schedulerPeriod",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromPipelineByPropertyName = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "basic",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromPipelineByPropertyName = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "bootGroup",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "journal",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "networks",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "priority",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "recovery",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "scripting",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "vms",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "vmIdentifier",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "nics",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "nicIdentifier",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "volumes",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "volumeIdentifier",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "The identifier of the VPG settings object for which information is retrieved."
|
||||
)]
|
||||
[string]$vpgSettingsIdentifier,
|
||||
[Parameter(
|
||||
ParameterSetName = "backup",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Return backup information for VPG identifier specified"
|
||||
)]
|
||||
[switch]$backup,
|
||||
[Parameter(
|
||||
ParameterSetName = "dayOfWeek",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Get the day of week a backup is scheduled"
|
||||
)]
|
||||
[switch]$dayOfWeek,
|
||||
[Parameter(
|
||||
ParameterSetName = "retentionPeriod",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Get the retention period for a backup"
|
||||
)]
|
||||
[switch]$retentionPeriod,
|
||||
[Parameter(
|
||||
ParameterSetName = "schedulerPeriod",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Get the backup schedule"
|
||||
)]
|
||||
[switch]$schedulerPeriod,
|
||||
[Parameter(
|
||||
ParameterSetName = "basic",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Get VPG Basic Settings"
|
||||
)]
|
||||
[switch]$basic,
|
||||
[Parameter(
|
||||
ParameterSetName = "bootGroup",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Get VPG Boot Settings"
|
||||
)]
|
||||
[switch]$bootgroup,
|
||||
[Parameter(
|
||||
ParameterSetName = "journal",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Get VPG Journal Settings"
|
||||
)]
|
||||
[switch]$journal,
|
||||
[Parameter(
|
||||
ParameterSetName = "networks",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Get VPG Network Settings"
|
||||
)]
|
||||
[switch]$networks,
|
||||
[Parameter(
|
||||
ParameterSetName = "priority",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Get VPG Priority Settings"
|
||||
)]
|
||||
[switch]$priority,
|
||||
[Parameter(
|
||||
ParameterSetName = "recovery",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Get VPG Recovery Settings"
|
||||
)]
|
||||
[switch]$rcovery,
|
||||
[Parameter(
|
||||
ParameterSetName = "scripting",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Get VPG Recovery Settings"
|
||||
)]
|
||||
[switch]$scripting,
|
||||
[Parameter(
|
||||
ParameterSetName = "vms",
|
||||
Mandatory = $true )]
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Get all settings for all VMs in a VPG."
|
||||
)]
|
||||
[switch]$vms,
|
||||
[Parameter(
|
||||
ParameterSetName = "vmIdentifier",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Get all settings for selected VM"
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "nics",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "VM Identifier"
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "volumes",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "VM Identifier"
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "nicIdentifier",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "VM Identifier"
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "volumeIdentifier",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "VM Identifier"
|
||||
)]
|
||||
[string]$vmIdentifier,
|
||||
[Parameter(
|
||||
ParameterSetName = "nics",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Return NIC information for all NICs of the specified VM"
|
||||
)]
|
||||
[switch]$nics,
|
||||
[Parameter(
|
||||
ParameterSetName = "nicIdentifier",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Return NIC information for specified NIC of the specified VM"
|
||||
)]
|
||||
[string]$nicIdentifier,
|
||||
[Parameter(
|
||||
ParameterSetName = "volumes",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Return Volume information for all volumes of the specified VM"
|
||||
)]
|
||||
[switch]$volumes,
|
||||
[Parameter(
|
||||
ParameterSetName = "volumeIdentifier",
|
||||
Mandatory = $true
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Return volume information for the specified volume of the specified VM"
|
||||
)]
|
||||
[string]$volumeIdentifier
|
||||
)
|
||||
@@ -220,6 +260,7 @@ function Get-ZertoVpgSetting {
|
||||
$returnObject = @()
|
||||
}
|
||||
|
||||
#TODO - Update to Switch Logic
|
||||
process {
|
||||
if ( $PSCmdlet.ParameterSetName -eq "main" ) {
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $baseUri
|
||||
|
||||
@@ -3,29 +3,65 @@ function Get-ZertoVra {
|
||||
DefaultParameterSetName = "main"
|
||||
)]
|
||||
param(
|
||||
[Parameter( ParameterSetName = "ipConfigurationTypes" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "ipConfigurationTypes",
|
||||
HelpMessage = "Returns Valid VRA IP configuration types"
|
||||
)]
|
||||
[switch]$ipconfigurationtypes,
|
||||
[Parameter( ParameterSetName = "statuses" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "statuses",
|
||||
HelpMessage = "Returns Valid VRA statuses"
|
||||
)]
|
||||
[switch]$statuses,
|
||||
[Parameter( ParameterSetName = "vraIdentifier" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "vraIdentifier",
|
||||
HelpMessage = "Returns information for provided VRA identifier(s)"
|
||||
)]
|
||||
[string[]]$vraIdentifier,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "VRA Name to return information for."
|
||||
)]
|
||||
[string]$vraName,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "Search for VRAs in a specific status"
|
||||
)]
|
||||
[string]$status,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "Search for VRAs of a specific version"
|
||||
)]
|
||||
[string]$vraVersion,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "Search for VRAs paired to a specific host version"
|
||||
)]
|
||||
[string]$hostVersion,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "Search for a VRA with the specified IP address"
|
||||
)]
|
||||
[string]$ipAddress,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "Search for VRAs belonging to a specific group"
|
||||
)]
|
||||
[string]$vraGroup,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "Search for VRAs on a specific datastore"
|
||||
)]
|
||||
[string]$datastoreName,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "Search for VRAs on a specific datastore cluster"
|
||||
)]
|
||||
[string]$datastoreClusterName,
|
||||
[Parameter( ParameterSetName = "filter" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "filter",
|
||||
HelpMessage = "Search for VRAs on a specific network"
|
||||
)]
|
||||
[string]$networkName
|
||||
)
|
||||
|
||||
@@ -35,23 +71,17 @@ function Get-ZertoVra {
|
||||
}
|
||||
|
||||
process {
|
||||
|
||||
# Process based on ParameterSetName
|
||||
switch ( $PSCmdlet.ParameterSetName ) {
|
||||
"filter" {
|
||||
$filter = Get-ZertoApiFilter -filterTable $PSBoundParameters
|
||||
$uri = "{0}{1}" -f $baseUri, $filter
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
|
||||
"ipConfigurationTypes" {
|
||||
$uri = "{0}/ipconfigurationtypes" -f $baseUri
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
|
||||
"statuses" {
|
||||
$uri = "{0}/statuses" -f $baseUri
|
||||
|
||||
# When called without params, return all VRAs
|
||||
"main" {
|
||||
$uri = $baseUri
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
|
||||
# When vra ids are provided, return for each id provided
|
||||
"vraIdentifierifier" {
|
||||
$returnObject = foreach ( $vraId in $vraIdentifier ) {
|
||||
$uri = "{0}/{1}" -f $baseUri, $vraId
|
||||
@@ -59,8 +89,16 @@ function Get-ZertoVra {
|
||||
}
|
||||
}
|
||||
|
||||
# When filter is requested, search based on provided data.
|
||||
"filter" {
|
||||
$filter = Get-ZertoApiFilter -filterTable $PSBoundParameters
|
||||
$uri = "{0}{1}" -f $baseUri, $filter
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
|
||||
# When a different ParameterSetName is requested, query against that name
|
||||
default {
|
||||
$uri = $baseUri
|
||||
$uri = "{0}/{1}" -f $baseUri, $PSCmdlet.ParameterSetName.ToLower()
|
||||
$returnObject = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
function Get-ZertoZorg {
|
||||
[cmdletbinding( DefaultParameterSetName = "default" )]
|
||||
param(
|
||||
[Parameter( ParameterSetName = "zorgIdentifier" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "zorgIdentifier",
|
||||
HelpMessage = "Identifier(s) of the ZORG."
|
||||
)]
|
||||
[string[]]$zorgIdentifier
|
||||
)
|
||||
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
function Get-ZertoZsspSession {
|
||||
[cmdletbinding( DefaultParameterSetName = "default" )]
|
||||
param(
|
||||
[Parameter( ParameterSetName = "zsspSessionIdentifier" )]
|
||||
[Parameter(
|
||||
ParameterSetName = "zsspSessionIdentifier",
|
||||
HelpMessage = "ZSSP Session Id(s) to get information."
|
||||
)]
|
||||
[string[]]$zsspSessionIdentifier
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user