Public/Set-DuneDeploymentSequence.ps1
|
function Set-DuneDeploymentSequence { [CmdletBinding(DefaultParameterSetName = "Default")] param ( [Parameter(Mandatory, ParameterSetName = "Id")] [guid]$Id, [Parameter(Mandatory, ParameterSetName = "Deployment", ValueFromPipeline)] [DuneDeployment]$Deployment, [SequenceUsage]$Usage = "OnStart", [Hashtable]$Batches #format: @{'0'=@{PostBatchDelayMinutes=3;Items=@([DuneComputeNodeObject])};'1'=@{PostBatchDelayMinutes=2;Items=@([DuneComputeNodeObject]])} ) begin { Write-Debug "$($MyInvocation.MyCommand)|begin" $ReturnObjects = @() $BaseUri = 'deployments/{0}/sequences' $Method = 'PATCH' } process { Write-Debug "$($MyInvocation.MyCommand)|process|$($PSCmdlet.ParameterSetName)" if ($PSCmdlet.ParameterSetName -eq 'Deployment') { $Id = $Deployment.Id } # Build Uri $Uri = $BaseUri -f $Id $Body = @{ Usage = $Usage.toString() Batches = $Batches } $ResultItems = Invoke-DuneApiRequest -Method $Method -Uri $Uri -Body $Body } end { Write-Debug "$($MyInvocation.MyCommand)|end" return $ReturnObjects } } |