HP OneView Manual del usuario

Página 297

Advertising
background image

$frawErrorStream = $sr.readtoend()
$error[0].Exception.InnerException.Response.close()
$errorObject = $rawErrorStream | convertFrom-Json

Write-Host $errorObject.errorcode $errorObject.message $errorObject.resolution
return
}
}

##### Initiate the restore process #####
function start-restore ([string]$authinfo,[string]$hostname,[object]$uploadResponse)
{
<#
.DESCRIPTION
Sends a POST request to the restore resource to initiate a restore.

.PARAMETER authinfo
The authorized sessionID obtained from login.

.PARAMETER hostname
The appliance to connect to.

.PARAMETER uploadResponse
The response body from the upload request. Contains the backup URI needed for restore call.

.INPUTS
None, does not accept piping

.OUTPUTS
Outputs the response body from the POST restore call.

.EXAMPLE
$restoreResponse = start-restore $sessionID $hostname $uploadResponse
#>
# append the appropriate URI to the IP address of the Appliance
$backupUri = $uploadResponse.uri
$restoreUri = "/rest/restores"
$fullRestoreUri = $hostname + $restoreURI
$body = @{ type = "RESTORE"; uriOfBackupToRestore = $backupUri } | convertTo-json
# create a new webrequest and add the proper headers
try
{
$rawRestoreResponse = setup-request -uri $fullRestoreUri -method "POST" -accept "application/json" -contentType
"application/json" -authValue $authinfo -Body $body

$restoreResponse = $rawRestoreResponse | convertFrom-Json
return $restoreResponse
}

catch [Net.WebException]
{
Write-Host $_.Exception.message
}
}

##### Check for the status of ongoing restore #####
function restore-status ([string]$authinfo = "foo",[string]$hostname,[object]$restoreResponse,[string]$recoveredUri
= "")
{
<#
.DESCRIPTION
Uses GET requests to check the status of the restore process.

.PARAMETER authinfo
**to be removed once no longer a required header**

.PARAMETER hostname
The appliance to connect to

.PARAMETER restoreResponse
The response body from the restore initiation request.

.PARAMETER recoveredUri
In case of a interruption in the script or connection, the Uri for status is instead obtained through
this parameter.

.INPUTS
None, does not accept piping

.OUTPUTS
None, end of script upon completion or fail.

.EXAMPLE

C.2 Secuencia de comandos de restauración de ejemplo 297

Advertising