1. Go to this page and download the library: Download cbws/sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
cbws / sdk example snippets
$operation = $machine->stop();
// Get the latest status of the operation
$operation = $operation->get();
var_dump($operation->getDone());
var_dump($operation->getResponse());
if ($operation->getError() !== null) {
throw $operation->getError();
}
$operation = $machine->stop();
// Get the fiber that will wait until the operation has finished.
$fiber = $operation->fiber();
$fiber->start();
while (!$fiber->isTerminated()) {
// Get intermediate operation state
$operation = $fiber->resume();
}
// Finished operation
$operation = $fiber->getReturn();
var_dump($operation->getDone());
var_dump($operation->getResponse());
if ($operation->getError() !== null) {
throw $operation->getError();
}
// Create client for project `some-project`
$compute = new \Cbws\Sdk\Compute\Client('some-project');
$nextPageToken = null;
do {
$request = ListMachinesRequest::create()
->withPageToken($nextPageToken)
->withoutState() // This is optional but will be much faster and as we don't have to check the live state of every machine
$response = $compute->listMachines($request);
foreach ($response->getMachines() as $machine) {
print_r($machine);
}
$nextPageToken = $response->getNextPageToken();
} while (!is_null($response->getNextPageToken()));
// Paginate through machines, can also use listMachines
foreach ($compute->paginateMachines(ListMachinesRequest::create()->withoutState()) as $machine) {
print_r($machine);
}
// Start the machine creation operation in the background
$operation = $compute->createMachine(
'some-machine-identifier',
Machine::create()
->withHostname('oh-no') // this is optional, will default to the machine name
->withType('zones/nl-ein-1/types/g2.1') // Start with G2.1 (1 core, 2 GB of RAM and 20 GB SSD) machine type in the NL-EIN-1 availability zone,
// Ensure we can recover after an error during the request, re-calling the createMachine call with the same
// idempotency key will return the result of the initial call. This is recommended but optional.
CreateMachineRequest::create()->withIdempotencyKey(Uuid::fromString('e62e7adf-9763-41aa-b2c8-2291cd035739'))
);
// Poll the operation has finished, you could also call $compute->getOperation() which does not block.
foreach ($compute->pollOperation($operation->getName()) as $operation) {
print_r($operation);
}
// Start the machine stop operation in the background
$operation = $compute->stopMachine(
'some-machine-identifier',
// Ensure we can recover after an error during the request, re-calling the stopMachine call with the same
// idempotency key will return the result of the initial call. This is recommended but optional.
StopMachineRequest::create()->withIdempotencyKey(Uuid::fromString('e62e7adf-9763-41aa-b2c8-2291cd035739'))
);
// Poll the operation has finished, you could also call $compute->getOperation() which does not block.
foreach ($compute->pollOperation($operation->getName()) as $operation) {
print_r($operation);
}
// Start the machine stop operation in the background
$operation = $compute->startMachine(
'some-machine-identifier',
// Ensure we can recover after an error during the request, re-calling the startMachine call with the same
// idempotency key will return the result of the initial call. This is recommended but optional.
StartMachineRequest::create()->withIdempotencyKey(Uuid::fromString('e62e7adf-9763-41aa-b2c8-2291cd035739'))
);
// Poll the operation has finished, you could also call $compute->getOperation() which does not block.
foreach ($compute->pollOperation($operation->getName()) as $operation) {
print_r($operation);
}
// Start the machine stop operation in the background
$operation = $compute->resetMachine(
'some-machine-identifier',
// Ensure we can recover after an error during the request, re-calling the resetMachine call with the same
// idempotency key will return the result of the initial call. This is recommended but optional.
ResetMachineRequest::create()->withIdempotencyKey(Uuid::fromString('e62e7adf-9763-41aa-b2c8-2291cd035739'))
);
// Poll the operation has finished, you could also call $compute->getOperation() which does not block.
foreach ($compute->pollOperation($operation->getName()) as $operation) {
print_r($operation);
}
// Start the machine stop operation in the background
$operation = $compute->deleteMachine(
'some-machine-identifier',
// Ensure we can recover after an error during the request, re-calling the deleteMachine call with the same
// idempotency key will return the result of the initial call. This is recommended but optional.
DeleteMachineRequest::create()->withIdempotencyKey(Uuid::fromString('e62e7adf-9763-41aa-b2c8-2291cd035739'))
);
// Poll the operation has finished, you could also call $compute->getOperation() which does not block.
foreach ($compute->pollOperation($operation->getName()) as $operation) {
print_r($operation);
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.