rescale()
Signatur
public function rescale(ProductHosting $productHosting, array $productOptionMapping, array $deltaProductOptionMapping, ProductHostingRescale $rescale): ServerHostingRescaledResponseParameter
$productHosting
Das ProductHosting-Modell, auf dem die Aktion ausgeführt wird
$productOptionMapping Eine Key-Value-Zuordnung aller productOptions, einschließlich der neuen/geänderten
$deltaProductOptionMapping Dasselbe wie 2., aber nur die Delta-/geänderten productOptions, die sich geändert haben
$rescale Das ProductHostingRescale-Modell, das manchmal nützlich sein kann (in den meisten Fällen: ignorieren)
Beschreibung
Führt ein Rescale (Up-/Downgrade) des Hostings durch. Die Funktion wird asynchron in einer Queue ausgelöst und erst nachdem das Upgrade bezahlt wurde.
Es sollten nur die geänderten Optionen an die Integration gesendet werden, der gesamte Billing-Teil usw. wird von hostware verarbeitet.
Rückgabewert
Ein leeres ServerHostingRescaledResponse für den Erfolg, eine Exception mit der Nachricht bei einem Fehler. Wenn Du einen Fehler zurückgibst, wird das Rescale als ausstehend markiert und z. B. später von einem Admin ausgeführt. Die neuen productOptions / die neue Preisgestaltung werden dem Benutzer erst dann angewendet, wenn das Rescale erfolgreich war. Beispiel:
return new ServerHostingRescaledResponse()Beispiel
/**
* @param ProductHosting $productHosting
* @return ServerHostingDeletedResponse
* @throws GuzzleException
*/
public function unlock(ProductHosting $productHosting): ServerHostingDeletedResponse{
// API request to delete the user
$res = $this->getClient($productHosting->host)->killUser($productHosting->custom_fields['nextcloudUser']);
// error handling
if (isset($res['meta']) && $res['meta']['statuscode'] !== "100") {
throw new Exception(json_encode($res));
}
// success
return new ServerHostingDeletedResponse();
}