Skip to content

Commit 570df40

Browse files
authored
fix(compute): lro samples (GoogleCloudPlatform#1361)
Fixing LRO for compute samples and adding region tag to extract the operation_check part for usage in quick start tutorial. Please mind that delete_instance with wait can take up to 3 minutes, which slows down the whole test suite.
1 parent 5bdbb63 commit 570df40

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

compute/cloud-client/instances/src/create_instance.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
use Google\Cloud\Compute\V1\AttachedDiskInitializeParams;
3030
use Google\Cloud\Compute\V1\Instance;
3131
use Google\Cloud\Compute\V1\NetworkInterface;
32+
use Google\Cloud\Compute\V1\Operation;
3233
use Google\Cloud\Compute\V1\ZoneOperationsClient;
3334

3435
/**
@@ -80,7 +81,7 @@ function create_instance(
8081
$instancesClient = new InstancesClient();
8182
$operation = $instancesClient->insert($instance, $projectId, $zone);
8283

83-
if ($operation->getStatus() === 'RUNNING') {
84+
if ($operation->getStatus() === Operation\Status::RUNNING) {
8485
// Wait until operation completes
8586
$operationClient = new ZoneOperationsClient();
8687
$operationClient->wait($operation->getName(), $projectId, $zone);

compute/cloud-client/instances/src/delete_instance.php

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,12 @@
2525

2626
# [START compute_instances_delete]
2727
use Google\Cloud\Compute\V1\InstancesClient;
28+
# [START compute_instances_operation_check]
29+
use Google\Cloud\Compute\V1\Operation;
2830
use Google\Cloud\Compute\V1\ZoneOperationsClient;
2931

32+
# [END compute_instances_operation_check]
33+
3034
/**
3135
* Creates an instance.
3236
* Example:
@@ -49,11 +53,17 @@ function delete_instance(
4953
$instancesClient = new InstancesClient();
5054
$operation = $instancesClient->delete($instanceName, $projectId, $zone);
5155

52-
if ($operation->getStatus() === 'RUNNING') {
56+
# [START compute_instances_operation_check]
57+
if ($operation->getStatus() === Operation\Status::RUNNING) {
5358
// Wait until operation completes
5459
$operationClient = new ZoneOperationsClient();
55-
$operationClient->wait($operation->getName(), $projectId, $zone);
60+
61+
// Default timeout of 60s is not always enough for operation to finish,
62+
// to avoid an exception we set timeout to 180000 ms = 180 s = 3 minutes
63+
$optionalArgs = ['timeoutMillis' => 180000];
64+
$operationClient->wait($operation->getName(), $projectId, $zone, $optionalArgs);
5665
}
66+
# [END compute_instances_operation_check]
5767

5868
printf('Deleted instance %s' . PHP_EOL, $instanceName);
5969
}

0 commit comments

Comments
 (0)