Private/configbackup.ps1
<#
.SYNOPSIS Perform an application and database backup .DESCRIPTION Perform an application and database backup .NOTES Private function .EXAMPLE #> function configbackup { [CmdletBinding(DefaultParameterSetName="ImplicitAuth")] param ( # User's API token [Parameter(Mandatory, ParameterSetName="ExplicitAuth")] [string] $authToken, # Server path to store the application and database backup [Parameter()] [string] $path ) begin { } process { $commonParameters = "Debug,WarningAction,ErrorVariable,InformationVariable,OutBuffer,Verbose,ErrorAction,InformationAction,WarningVariable,OutVariable,PipelineVariable" -split "," foreach ($commonParameter in $commonParameters) { if ($PSBoundParameters.ContainsKey($commonParameter)) { $PSBoundParameters.Remove($commonParameter) } } if ($PSCmdlet.ParameterSetName -eq "ImplicitAuth") { $PSBoundParameters["authToken"] = $global:__SysPassGlobal.Token.UserName } $payload = New-JsonRpcPayload -method "config/backup" -params $PSBoundParameters Write-Debug "Payload:`n$payload" $response = Invoke-RestMethod -URI "$($global:__SysPassGlobal.uri)/api.php" -Body $payload -Method POST -ContentType "application/json" Write-Debug "Response:`n$($response | ConvertTo-Json)" if ($response.result.resultCode -eq 0) { $response.result.result } else { $response.error } } end { } } |