Continue Updating HelpMessages and Comments

This commit is contained in:
Wes Carroll
2019-02-24 13:23:39 -05:00
parent 80469aafa2
commit 0e19b92901
8 changed files with 452 additions and 129 deletions
+39 -9
View File
@@ -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
+24 -5
View File
@@ -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
}
+124 -27
View File
@@ -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
+80 -39
View File
@@ -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
+64 -26
View File
@@ -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
}
}
+4 -1
View File
@@ -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
)
+4 -1
View File
@@ -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
)