exports/Invoke-SysManClientApplyDeploymentTemplate.ps1

<#
.Synopsis
Applies the deployment template that is associated with the provided target.
.Description
Applies the deployment template that is associated with the provided target.
.Example
To view examples, please use the -Online parameter with Get-Help or navigate to: https://docs.microsoft.com/en-us/powershell/module/sysman.webapi/invoke-sysmanclientapplydeploymenttemplate
.Inputs
SysMan.Powershell.Models.IApplyDeploymentTemplateCommand
.Outputs
SysMan.Powershell.Models.IApiErrorMessage
.Outputs
SysMan.Powershell.Models.IResolvedDeploymentTemplate
.Notes
COMPLEX PARAMETER PROPERTIES
To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.
 
COMMAND <IApplyDeploymentTemplateCommand>: Data required to apply the deployment template associated with a target (computer).
  [ExecuteDate <DateTime?>]: The date the apply template should actually be applied. Note that the template will actually be applied directly but the different related resources (Systems, Group memberships etc.) will be scheduled. Note that if CleanUpDependentResources is set to true, the cleanup will occur directly and not be scheduled based on ExecuteDate.
  [TargetId <Int64?>]: The id of the target. Either use TargetId or Name. If both are set, TargetId will be used.
  [TargetName <String>]: The name of the target. Either use TargetId or Name. If both are set, TargetId will be used.
.Link
https://docs.microsoft.com/en-us/powershell/module/sysman.webapi/invoke-sysmanclientapplydeploymenttemplate
#>

function Invoke-SysManClientApplyDeploymentTemplate {
[OutputType([SysMan.Powershell.Models.IResolvedDeploymentTemplate], [SysMan.Powershell.Models.IApiErrorMessage])]
[CmdletBinding(DefaultParameterSetName='PostExpanded', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')]
param(
    [Parameter(ParameterSetName='Post', Mandatory, ValueFromPipeline)]
    [SysMan.Powershell.Category('Body')]
    [SysMan.Powershell.Models.IApplyDeploymentTemplateCommand]
    # Data required to apply the deployment template associated with a target (computer).
    # To construct, see NOTES section for COMMAND properties and create a hash table.
    ${Command},

    [Parameter(ParameterSetName='PostExpanded')]
    [SysMan.Powershell.Category('Body')]
    [System.DateTime]
    # The date the apply template should actually be applied.
    # Note that the template will actually be applied directlybut the different related resources (Systems, Group memberships etc.) will be scheduled.Note that if CleanUpDependentResources is set to true, the cleanup will occur directly and not be scheduled basedon ExecuteDate.
    ${ExecuteDate},

    [Parameter(ParameterSetName='PostExpanded')]
    [SysMan.Powershell.Category('Body')]
    [System.Int64]
    # The id of the target.
    # Either use TargetId or Name.
    # If both are set, TargetId will be used.
    ${TargetId},

    [Parameter(ParameterSetName='PostExpanded')]
    [SysMan.Powershell.Category('Body')]
    [System.String]
    # The name of the target.
    # Either use TargetId or Name.
    # If both are set, TargetId will be used.
    ${TargetName},

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

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

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

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

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

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

begin {
    try {
        $outBuffer = $null
        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer)) {
            $PSBoundParameters['OutBuffer'] = 1
        }
        $parameterSet = $PSCmdlet.ParameterSetName
        $mapping = @{
            Post = 'SysMan.WebApi.private\Invoke-SysManClientApplyDeploymentTemplate_Post';
            PostExpanded = 'SysMan.WebApi.private\Invoke-SysManClientApplyDeploymentTemplate_PostExpanded';
        }
        $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
    }
}
}

# SIG # Begin signature block
# MIIWogYJKoZIhvcNAQcCoIIWkzCCFo8CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBMufRPvUmu8X2n
# 7AG+sSbh7+r8TciGiI/4Z6Lc6sv6l6CCEdcwggPuMIIDV6ADAgECAhB+k+v7fMZO
# WepLmnfUBvw7MA0GCSqGSIb3DQEBBQUAMIGLMQswCQYDVQQGEwJaQTEVMBMGA1UE
# CBMMV2VzdGVybiBDYXBlMRQwEgYDVQQHEwtEdXJiYW52aWxsZTEPMA0GA1UEChMG
# VGhhd3RlMR0wGwYDVQQLExRUaGF3dGUgQ2VydGlmaWNhdGlvbjEfMB0GA1UEAxMW
# VGhhd3RlIFRpbWVzdGFtcGluZyBDQTAeFw0xMjEyMjEwMDAwMDBaFw0yMDEyMzAy
# MzU5NTlaMF4xCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3Jh
# dGlvbjEwMC4GA1UEAxMnU3ltYW50ZWMgVGltZSBTdGFtcGluZyBTZXJ2aWNlcyBD
# QSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsayzSVRLlxwS
# CtgleZEiVypv3LgmxENza8K/LlBa+xTCdo5DASVDtKHiRfTot3vDdMwi17SUAAL3
# Te2/tLdEJGvNX0U70UTOQxJzF4KLabQry5kerHIbJk1xH7Ex3ftRYQJTpqr1SSwF
# eEWlL4nO55nn/oziVz89xpLcSvh7M+R5CvvwdYhBnP/FA1GZqtdsn5Nph2Upg4XC
# YBTEyMk7FNrAgfAfDXTekiKryvf7dHwn5vdKG3+nw54trorqpuaqJxZ9YfeYcRG8
# 4lChS+Vd+uUOpyyfqmUg09iW6Mh8pU5IRP8Z4kQHkgvXaISAXWp4ZEXNYEZ+VMET
# fMV58cnBcQIDAQABo4H6MIH3MB0GA1UdDgQWBBRfmvVuXMzMdJrU3X3vP9vsTIAu
# 3TAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
# ZS5jb20wEgYDVR0TAQH/BAgwBgEB/wIBADA/BgNVHR8EODA2MDSgMqAwhi5odHRw
# Oi8vY3JsLnRoYXd0ZS5jb20vVGhhd3RlVGltZXN0YW1waW5nQ0EuY3JsMBMGA1Ud
# JQQMMAoGCCsGAQUFBwMIMA4GA1UdDwEB/wQEAwIBBjAoBgNVHREEITAfpB0wGzEZ
# MBcGA1UEAxMQVGltZVN0YW1wLTIwNDgtMTANBgkqhkiG9w0BAQUFAAOBgQADCZuP
# ee9/WTCq72i1+uMJHbtPggZdN1+mUp8WjeockglEbvVt61h8MOj5aY0jcwsSb0ep
# rjkR+Cqxm7Aaw47rWZYArc4MTbLQMaYIXCp6/OJ6HVdMqGUY6XlAYiWWbsfHN2qD
# IQiOQerd2Vc/HXdJhyoWBl6mOGoiEqNRGYN+tjCCBJkwggOBoAMCAQICEHGgtzaV
# 3bGvwjsrmhjuVMswDQYJKoZIhvcNAQELBQAwgakxCzAJBgNVBAYTAlVTMRUwEwYD
# VQQKEwx0aGF3dGUsIEluYy4xKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2Vydmlj
# ZXMgRGl2aXNpb24xODA2BgNVBAsTLyhjKSAyMDA2IHRoYXd0ZSwgSW5jLiAtIEZv
# ciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQDExZ0aGF3dGUgUHJpbWFyeSBS
# b290IENBMB4XDTEzMTIxMDAwMDAwMFoXDTIzMTIwOTIzNTk1OVowTDELMAkGA1UE
# BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEmMCQGA1UEAxMddGhhd3RlIFNI
# QTI1NiBDb2RlIFNpZ25pbmcgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
# AoIBAQCbVQJMFwXp0GbD/Cit08D+7+DpftQe9qobkUb99RbtmAdT+rqHG32eHwEn
# q7nSZ8q3ECVT9OO+m5C47SNcQu9kJVjliCIavvXHrvW+irEREZMaIql0acF0tmiH
# p4Mw+WTxseM4PvTWwfwS/nNXFzVXit1QjQP4Zs3KdoMTyNcOcR3kY8m6F/jRueSI
# 0iwoyCEgDUG3C+IvwoDmiHtTbMNEY4F/aEeMKyrPW/SMSWG6aYX9awB4BSZpEzCA
# OE7xWlXJxVDWqjiJR0Nc/k1zpUnFk2n+d5aar/OMDle6M9kOxkLTA3fEuzmtkfnz
# 95ZcOmSm7SdXwehA81Pyvik0/l/5AgMBAAGjggEXMIIBEzAvBggrBgEFBQcBAQQj
# MCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly90Mi5zeW1jYi5jb20wEgYDVR0TAQH/BAgw
# BgEB/wIBADAyBgNVHR8EKzApMCegJaAjhiFodHRwOi8vdDEuc3ltY2IuY29tL1Ro
# YXd0ZVBDQS5jcmwwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMDMA4GA1Ud
# DwEB/wQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRU3ltYW50ZWNQS0kt
# MS01NjgwHQYDVR0OBBYEFFeGm1S4vqYpiuT2wuITGImFzdy3MB8GA1UdIwQYMBaA
# FHtbRc+vzst6/TGSGmq280brV0hQMA0GCSqGSIb3DQEBCwUAA4IBAQAkO/XXoDYT
# x0P+8AmHaNGYMW4S5D8eH5Z7a0weh56LxWyjsQx7UJLVgZyxjywpt+75kQW5jkHx
# LPbQWS2Y4LnqgAFHQJW4PZ0DvXm7NbatnEwn9mdFEMnFvIdOVXvSh7vd3DDvxtRs
# zJk1bRzgYNPNaI8pWUuJlghGyY78dU/F3AnMTieLRM0HvKwE4LUzpYef9N1zDJHq
# EoFv43XwHrWTbEQX1T6Xyb0HLFZ3H4XdRui/3iyBlKP35benwTefdcpVd01eNinK
# hdhFQXJXdcB5W/o0EAZtZCBCtzrIHx1GZAJfxke+8MQ6KFTa9h5PmqIZQ6RvSfj8
# XkIgKISLRyBuMIIEnTCCA4WgAwIBAgIQCTq3hNaBtvt68SgSwpYLKDANBgkqhkiG
# 9w0BAQsFADBMMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3RlLCBJbmMuMSYw
# JAYDVQQDEx10aGF3dGUgU0hBMjU2IENvZGUgU2lnbmluZyBDQTAeFw0xODExMTUw
# MDAwMDBaFw0yMjAyMTMyMzU5NTlaMFsxCzAJBgNVBAYTAlNFMRIwEAYDVQQIDAlT
# dG9ja2hvbG0xEjAQBgNVBAcMCVN0b2NraG9sbTERMA8GA1UECgwISW5lcmEgQUIx
# ETAPBgNVBAMMCEluZXJhIEFCMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
# AQEAugUhf2sJ+eCo/qI1qaKLEZCUAnj23JnNmIRHLP5XJbXBmkmIcB7SH8qQW2Xy
# rPzs1PlzeuR5NiVURpWl27+KvfIkEPA8SQIGNV4FaesLQM4iOgaA+sp+aXUiVVZy
# GVaO+S4o1S4ahrb/OjTLUaJNiCYTqhW0o/h5YvSQOZBaQEwAXcFVPxZ5nr1Hbrma
# Z3SVDS/HU55X9BolDjeGQitUXS4pJT8Y5/bFLRDD7oC6rxYomsOawuvC/I3ynD9k
# hT0ye8OmOVGR8jbVCDSPpq1moFSn8pwouScwzdj2+8pRTq2NMBPi7M5VvNrgFNoL
# BEWj4VI2zirGAB88FVFQfl5utQIDAQABo4IBajCCAWYwCQYDVR0TBAIwADAfBgNV
# HSMEGDAWgBRXhptUuL6mKYrk9sLiExiJhc3ctzAdBgNVHQ4EFgQU1IKj1fPFqb20
# KeXXJdxHYD5qoyYwKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3RsLnN5bWNiLmNv
# bS90bC5jcmwwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMG4G
# A1UdIARnMGUwYwYGZ4EMAQQBMFkwJgYIKwYBBQUHAgEWGmh0dHBzOi8vd3d3LnRo
# YXd0ZS5jb20vY3BzMC8GCCsGAQUFBwICMCMMIWh0dHBzOi8vd3d3LnRoYXd0ZS5j
# b20vcmVwb3NpdG9yeTBXBggrBgEFBQcBAQRLMEkwHwYIKwYBBQUHMAGGE2h0dHA6
# Ly90bC5zeW1jZC5jb20wJgYIKwYBBQUHMAKGGmh0dHA6Ly90bC5zeW1jYi5jb20v
# dGwuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQCDoioJABkoQWDuBN5tIKJAs9iRTySw
# UN/HoYSGdSOvO4UNhv889/fKcBJHY/WlTDFDoT/ULOcnQxOxNIWxw7gh/wjVX3hd
# 6eU2wCcwGXaHqLQ/Sx1RwRPGmn8fxB1Q8cgSkdYbUh8HyQcEv6Q0qTjb1rD9MaLj
# bP3ZQjDJ7gS5tLh/FQhBlLoGOA/z2LIfhiAsPLKgXuzNVJzUdjgRr06LoYmicwFX
# NyifRupyMTeRhIXxwFy1FHgFvZgL9ZstnqzgZ2kwpsClzoKljltRZMpYe64uWnKI
# fbU8agdhIH9kg/o2d2cypienAepMvxXyEtscrIWfTYn+Sd2RHVLDqcmsMIIEozCC
# A4ugAwIBAgIQDs/0OMj+vzVuBNhqmBsaUDANBgkqhkiG9w0BAQUFADBeMQswCQYD
# VQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xMDAuBgNVBAMT
# J1N5bWFudGVjIFRpbWUgU3RhbXBpbmcgU2VydmljZXMgQ0EgLSBHMjAeFw0xMjEw
# MTgwMDAwMDBaFw0yMDEyMjkyMzU5NTlaMGIxCzAJBgNVBAYTAlVTMR0wGwYDVQQK
# ExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjE0MDIGA1UEAxMrU3ltYW50ZWMgVGltZSBT
# dGFtcGluZyBTZXJ2aWNlcyBTaWduZXIgLSBHNDCCASIwDQYJKoZIhvcNAQEBBQAD
# ggEPADCCAQoCggEBAKJjCzlEuLsjp0RJuw7/ofBhClOTsJjbrSwPSsVu/4Y8U1UP
# Fc4EPyv9qZaW2b5heQtbyUyGduXgQ0sile7CK0PBn9hotI5AT+6FOLkRxSPyZFjw
# FTJvTlehroikAtcqHs1L4d1j1ReJMluwXplaqJ0oUA4X7pbbYTtFUR3PElYLkkf8
# q672Zj1HrHBy55LnX80QucSDZJQZvSWA4ejSIqXQugJ6oXeTW2XD7hd0vEGGKtwI
# TIySjJEtnndEH2jWqHR32w5bMotWizO92WPISZ06xcXqMwvS8aMb9Iu+2bNXizve
# BKd6IrIkri7HcMW+ToMmCPsLvalPmQjhEChyqs0CAwEAAaOCAVcwggFTMAwGA1Ud
# EwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeA
# MHMGCCsGAQUFBwEBBGcwZTAqBggrBgEFBQcwAYYeaHR0cDovL3RzLW9jc3Aud3Mu
# c3ltYW50ZWMuY29tMDcGCCsGAQUFBzAChitodHRwOi8vdHMtYWlhLndzLnN5bWFu
# dGVjLmNvbS90c3MtY2EtZzIuY2VyMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly90
# cy1jcmwud3Muc3ltYW50ZWMuY29tL3Rzcy1jYS1nMi5jcmwwKAYDVR0RBCEwH6Qd
# MBsxGTAXBgNVBAMTEFRpbWVTdGFtcC0yMDQ4LTIwHQYDVR0OBBYEFEbGaaMOShQe
# 1UzaUmMXP142vA3mMB8GA1UdIwQYMBaAFF+a9W5czMx0mtTdfe8/2+xMgC7dMA0G
# CSqGSIb3DQEBBQUAA4IBAQB4O7SRKgBM8I9iMDd4o4QnB28Yst4l3KDUlAOqhk4l
# n5pAAxzdzuN5yyFoBtq2MrRtv/QsJmMz5ElkbQ3mw2cO9wWkNWx8iRbG6bLfsund
# IMZxD82VdNy2XN69Nx9DeOZ4tc0oBCCjqvFLxIgpkQ6A0RH83Vx2bk9eDkVGQW4N
# sOo4mrE62glxEPwcebSAe6xp9P2ctgwWK/F/Wwk9m1viFsoTgW0ALjgNqCmPLOGy
# 9FqpAa8VnCwvSRvbIrvD/niUUcOGsYKIXfA9tFGheTMrLnu53CAJE3Hrahlbz+il
# MFcsiUk/uc9/yb8+ImhjU5q9aXSsxR08f5Lgw7wc2AR1MYIEITCCBB0CAQEwYDBM
# MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3RlLCBJbmMuMSYwJAYDVQQDEx10
# aGF3dGUgU0hBMjU2IENvZGUgU2lnbmluZyBDQQIQCTq3hNaBtvt68SgSwpYLKDAN
# BglghkgBZQMEAgEFAKCBhDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAAMBkGCSqG
# SIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3
# AgEVMC8GCSqGSIb3DQEJBDEiBCDVZ/ZzFBIUITM0AdcgWeoqfVuu4HpH6fSCOo7C
# RnGjmjANBgkqhkiG9w0BAQEFAASCAQB02ZkZj3yR+kiS1z6LxdnGjvZEaVTzk1sT
# fer9kbeth98UXpRQVd21AmT96nBkaPQi0mcneQh4LzZbrtQAy+P/5VtwUmFlqL6m
# xBRHZkRYJX3Eo7BdRHNBIB+ixNpXQe0f36vs/gDZ70gTNE/1Fmd1R7/evMd3XWYt
# Nd/pYzFq9pUcpl0rkFqzh89pO/2CkxmbCi7cJVxvskShUK/Ycg60YLEJXyGKob5D
# yv6EHhLObDU13nXizu/ohFQDh1iFCfwExgoGuKLIvBXAvaPxy7HFntAFW+ABQg2c
# PwfDAlXPMfq3DshzIaofxaFsHa9s2H+6+JNEaUfWB2PCFjUt7da9oYICCzCCAgcG
# CSqGSIb3DQEJBjGCAfgwggH0AgEBMHIwXjELMAkGA1UEBhMCVVMxHTAbBgNVBAoT
# FFN5bWFudGVjIENvcnBvcmF0aW9uMTAwLgYDVQQDEydTeW1hbnRlYyBUaW1lIFN0
# YW1waW5nIFNlcnZpY2VzIENBIC0gRzICEA7P9DjI/r81bgTYapgbGlAwCQYFKw4D
# AhoFAKBdMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8X
# DTIwMDExNDEwMjY1MVowIwYJKoZIhvcNAQkEMRYEFKWnE4z9F5Z1gcSIk0HoYm0N
# AnP+MA0GCSqGSIb3DQEBAQUABIIBAC/cO4H7R6IigKTJFKeq1EsIIBJ3mVxulkyj
# k3GeP8WZyk8TbLyiDHlHn8f1iLlhpPL0Jq7m2DFsuTVtPZEkHSFKz/iza56xdFLr
# LFlizs6M1Rd5gHvn/nAEjUX3A8dG5zUT31Qf6UmpXwSk8/QGp2TUlVS3l2G4VwkH
# hj7FvCve6NcJX8CR4sjKcS1eAs1oXX719DjCNHlv0NLxgVkj1t7l7shbabdxYmjt
# wThe89/iHjPD4TcEVRy/mhOxnzhYN+rUrk+KcjnSvC/br0hrJNnqkFEl17kMIVFb
# IjErwyLtdGx3R4jU+Nem4Sr811rrymWCEcfpLeJXWd364fvAloY=
# SIG # End signature block