exports/Get-SysManDeploymentTemplate.ps1

<#
.Synopsis
Get a specific template based on the id. Important: The values from the returned templates will not be the resolved values but the values actually entered during administration.\r\nTo get the actual resolved template (i.e the calculated inherited values) use the resolve api method instead.
.Description
Get a specific template based on the id. Important: The values from the returned templates will not be the resolved values but the values actually entered during administration.\r\nTo get the actual resolved template (i.e the calculated inherited values) use the resolve api method instead.
.Link
https://docs.microsoft.com/en-us/powershell/module/sysman.webapi/get-sysmandeploymenttemplate
#>

function Get-SysManDeploymentTemplate {
[OutputType('SysMan.Powershell.Models.IDeploymentTemplate', 'SysMan.Powershell.Models.IApiErrorMessage', 'SysMan.Powershell.Models.IDeploymentTemplateSearchItem')]
[CmdletBinding(DefaultParameterSetName='List', PositionalBinding=$false)]
[SysMan.Powershell.Description('Get a specific template based on the id. Important: The values from the returned templates will not be the resolved values but the values actually entered during administration.\r\nTo get the actual resolved template (i.e the calculated inherited values) use the resolve api method instead.')]
param(
    [Parameter(ParameterSetName='Get', Mandatory, HelpMessage='The Id of the template to fetch')]
    [SysMan.Powershell.Category('Path')]
    [System.Int64]
    ${Id},

    [Parameter(DontShow, HelpMessage='Wait for .NET debugger to attach')]
    [SysMan.Powershell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    ${Break},

    [Parameter(DontShow, HelpMessage='SendAsync Pipeline Steps to be appended to the front of the pipeline')]
    [ValidateNotNull()]
    [SysMan.Powershell.Category('Runtime')]
    [SysMan.Powershell.Runtime.SendAsyncStep[]]
    ${HttpPipelineAppend},

    [Parameter(DontShow, HelpMessage='SendAsync Pipeline Steps to be prepended to the front of the pipeline')]
    [ValidateNotNull()]
    [SysMan.Powershell.Category('Runtime')]
    [SysMan.Powershell.Runtime.SendAsyncStep[]]
    ${HttpPipelinePrepend},

    [Parameter(DontShow, HelpMessage='The URI for the proxy server to use')]
    [SysMan.Powershell.Category('Runtime')]
    [System.Uri]
    ${Proxy},

    [Parameter(DontShow, HelpMessage='Credentials for a proxy server to use for the remote call')]
    [ValidateNotNull()]
    [SysMan.Powershell.Category('Runtime')]
    [System.Management.Automation.PSCredential]
    ${ProxyCredential},

    [Parameter(DontShow, HelpMessage='Use the default credentials for the proxy')]
    [SysMan.Powershell.Category('Runtime')]
    [System.Management.Automation.SwitchParameter]
    ${ProxyUseDefaultCredentials}
)

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PsCmdlet.ParameterSetName
        $mapping = @{
            Get = 'SysMan.WebApi.private\Get-SysManDeploymentTemplate_Get';
            List = 'SysMan.WebApi.private\Get-SysManDeploymentTemplate_List';
        }
        $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
    }
}
}