targets.psm1
$TargetGroupsDefaultProperties = ('name', 'index', 'sys-id') $TargetsDefaultProperties = ('name', 'port-type', 'port-address', 'port-state', 'index', 'iops') .(commonLib) Function Get-XtremTargets { <# .DESCRIPTION Displays the list of all Targets and their parameters. .PARAMETER Properties Array of properties requested from this call. .PARAMETER Filters Array of filters for this call. .PARAMETER ShowRest Return an object represents the REST operation including URI , Method and JSON .EXAMPLE Get-XtremTargets #> [cmdletbinding()] Param ( [parameter()] $XtremClusterName = (Get-XtremDefaultSession)._XtremClusterName, [parameter()] [Alias("Properties")] [string[]]$Property = $TargetsDefaultProperties, [parameter()] [Alias("Filters")] [string[]]$Filter, [Parameter()] [object]$Session = (Get-XtremDefaultSession), [Parameter()] [switch]$ShowRest, [Parameter()] [switch]$Full = $false ) initCommand $Route = '/types/targets' if ($Full) { $Property = '' } $result = NewXtremRequest -Method GET -endpoint $Route -Session $Session -XtremClusterName $XtremClusterName -Properties $Property -Filters $Filter -ObjectSelection $ObjectSelection -ShowRest:$ShowRest.IsPresent -Multi -Full:$Full.IsPresent $result = formatOutPut $Property $result finalizeCommand return $result } Function Get-XtremTarget { <# .DESCRIPTION Displays details of the selected Target. .PARAMETER TargetName Target's name or index number. .PARAMETER Properties Array of properties requested from this call. .PARAMETER ShowRest Return an object represents the REST operation including URI , Method and JSON .EXAMPLE Get-XtremTarget -TargetName mytarget #> [cmdletbinding()] Param ( [parameter()] $XtremClusterName = (Get-XtremDefaultSession)._XtremClusterName, [Alias("Name", "Index")] [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 0)] [Argumentcompleter( { doComplete $args 'targets' name })] $TargetName, [Parameter()] [Alias("Properties")] [string[]]$Property, [Parameter()] [object]$Session = (Get-XtremDefaultSession), [Parameter()] [switch]$ShowRest ) initCommand $Route = '/types/targets' $Route, $GetProperty = SetParametersForRequest $Route $TargetName $result = NewXtremRequest -Method GET -endpoint $Route -Session $Session -XtremClusterName $XtremClusterName -ObjectSelection $ObjectSelection -GetProperty $GetProperty -Properties $Property -ShowRest:$ShowRest.IsPresent $result = formatOutPut $Property $result finalizeCommand return $result } Function Set-XtremTarget { <# .DESCRIPTION Enables you to modify a Target. .PARAMETER TargetName Target's name or index number. .PARAMETER MTU Maximum transmission unit (in bytes). .PARAMETER Properties Array of properties requested from this call. .PARAMETER ShowRest Return an object represents the REST operation including URI , Method and JSON .EXAMPLE Set-XtremTarget -TargetName target -MTU 1500 #> [CmdletBinding()] Param ( [Parameter()] $XtremClusterName = (Get-XtremDefaultSession)._XtremClusterName, [Alias("Name", "Index")] [Parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 0)] $TargetName, [Parameter(Mandatory = $true, Position = 1)] [AllowNull()] [System.Nullable[Int]]$MTU, [Parameter()] [object]$Session = (Get-XtremDefaultSession), [Parameter()] [switch]$ShowRest ) $Route = '/types/targets' $Route, $GetProperty = SetParametersForRequest $Route $TargetName $BodyList = @{ } AddIfExists -name "cluster-id" -value $XtremClusterName -list $BodyList AddIfExists -name "tar-id" -value $TarId -list $BodyList AddIfExists -name "mtu" -value $MTU -list $BodyList $Body = BuildXtremJson -list $BodyList NewXtremRequest -Method PUT -endpoint $Route -Session $Session -XtremClusterName $XtremClusterName -Body $Body -GetProperty $GetProperty -ShowRest:$ShowRest.IsPresent } ######### TARGET GROUPS COMMANDS ######### Function Get-XtremTargetGroups { <# .DESCRIPTION Displays the list of all Targets and their parameters. .PARAMETER Properties Array of properties requested from this call. .PARAMETER Filters Array of filters for this call. .PARAMETER ShowRest Return an object represents the REST operation including URI , Method and JSON .EXAMPLE Get-XtremTargetGroups #> [cmdletbinding()] Param ( [parameter()] $XtremClusterName = (Get-XtremDefaultSession)._XtremClusterName, [parameter()] [Alias("Properties")] [string[]]$Property = $TargetGroupsDefaultProperties, [parameter()] [Alias("Filters")] [string[]]$Filter, [Parameter()] [object]$Session = (Get-XtremDefaultSession), [Parameter()] [switch]$ShowRest, [Parameter()] [switch]$Full = $false ) initCommand $Route = '/types/target-groups' if ($Full) { $Property = '' } $result = NewXtremRequest -Method GET -endpoint $Route -Session $Session -XtremClusterName $XtremClusterName -Properties $Property -Filters $Filter -ObjectSelection $ObjectSelection -ShowRest:$ShowRest.IsPresent -Multi -Full:$Full.IsPresent $result = formatOutPut $Property $result finalizeCommand return $result } Function Get-XtremTargetGroup { <# .DESCRIPTION Displays details of the selected Target Group. .PARAMETER Properties Array of properties requested from this call. .PARAMETER ShowRest Return an object represents the REST operation including URI , Method and JSON .EXAMPLE Get-XtremTargetGroup -TargetGroupName mytarget #> [cmdletbinding()] Param ( [parameter()] $XtremClusterName = (Get-XtremDefaultSession)._XtremClusterName, [Alias("Name", "Index")] [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 0)] [Argumentcompleter( { doComplete $args 'target-groups' name })] $TargetGroupName, [Parameter()] [Alias("Properties")] [string[]]$Property, [Parameter()] [object]$Session = (Get-XtremDefaultSession), [Parameter()] [switch]$ShowRest ) initCommand $Route = '/types/target-groups' $Route, $GetProperty = SetParametersForRequest $Route $TargetGroupName $result = NewXtremRequest -Method GET -endpoint $Route -Session $Session -XtremClusterName $XtremClusterName -ObjectSelection $ObjectSelection -GetProperty $GetProperty -Properties $Property -ShowRest:$ShowRest.IsPresent $result = formatOutPut $Property $result finalizeCommand return $result } Export-ModuleMember *-* |