exports/Get-CVDiskSpace.ps1


# ----------------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.10.2, generator: @autorest/powershell@4.0.708)
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# ----------------------------------------------------------------------------------

<#
.Synopsis
Method to retrieve the available disk space of the library.
.Description
Method to retrieve the available disk space of the library.
Requires either the LibraryName or an associated MediaAgentName.
.Example
{{ Add code here }}
.Example
{{ Add code here }}
 
.Inputs
System.Object
.Inputs
System.String
.Outputs
System.Management.Automation.PSObject
.Link
https://learn.microsoft.com/powershell/module/commvaultpowershell/get-cvdiskspace
#>

function Get-CVDiskSpace {
[OutputType([System.Management.Automation.PSObject])]
[CmdletBinding(DefaultParameterSetName='ByLibraryName', PositionalBinding=$false)]
param(
    [Parameter(ParameterSetName='ByLibraryName', Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Commvault.Powershell.Category('Body')]
    [System.String]
    # Retrieve available disk space details for the library specified by LibraryName.
    ${LibraryName},

    [Parameter()]
    [Commvault.Powershell.Category('Body')]
    [System.String]
    # Filter output for a specific MountPath.
    ${MountPath},

    [Parameter(ParameterSetName='ByMediaAgentName', Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Alias('MAName')]
    [Commvault.Powershell.Category('Body')]
    [System.String]
    # Retrieve available disk space details for libraries associated with MediaAgentName.
    ${MediaAgentName},

    [Parameter(ParameterSetName='ByLibraryObject', Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)]
    [Commvault.Powershell.Category('Body')]
    [System.Object]
    ${LibraryObject}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName

        $mapping = @{
            ByLibraryName = 'CommvaultPowerShell.custom\Get-CVDiskSpace';
            ByMediaAgentName = 'CommvaultPowerShell.custom\Get-CVDiskSpace';
            ByLibraryObject = 'CommvaultPowerShell.custom\Get-CVDiskSpace';
        }
        $cmdInfo = Get-Command -Name $mapping[$parameterSet]
        [Commvault.Powershell.Runtime.MessageAttributeHelper]::ProcessCustomAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        [Commvault.Powershell.Runtime.MessageAttributeHelper]::ProcessPreviewMessageAttributesAtRuntime($cmdInfo, $MyInvocation, $parameterSet, $PSCmdlet)
        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(($mapping[$parameterSet]), [System.Management.Automation.CommandTypes]::Cmdlet)
        $scriptCmd = {& $wrappedCmd @PSBoundParameters}
        $steppablePipeline = $scriptCmd.GetSteppablePipeline($MyInvocation.CommandOrigin)
        $steppablePipeline.Begin($PSCmdlet)
    } catch {

        throw
    }
}

process {
    try {
        $steppablePipeline.Process($_)
    } catch {

        throw
    }

}
end {
    try {
        $steppablePipeline.End()

    } catch {

        throw
    }
} 
}