Skip to content

Commit c3a420b

Browse files
Sita04bcoe
andauthored
docs(compute-samples): refactored samples and tests to adopt full-lro and enums as strings (GoogleCloudPlatform#6581)
* docs(compute-samples): refactored samples and tests to adopt full-lro * docs(compute-samples): refactored samples and tests to adopt full-lro * docs(compute-samples): refactored samples and tests to adopt full-lro * docs(compute-samples): refactored samples and tests to adopt full-lro * docs(compute-samples): modified enums to use strings * docs(compute-samples): modified enums to use strings * chore: experiment with longer execution time Co-authored-by: bencoe@google.com <bencoe@google.com>
1 parent 38c29a4 commit c3a420b

19 files changed

+271
-294
lines changed

.kokoro/tests/run_tests.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ fi
9494

9595
btlr_args=(
9696
"run"
97-
"--max-cmd-duration=20m"
97+
"--max-cmd-duration=40m"
9898
"**/pom.xml"
9999
)
100100

compute/cloud-client/pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<dependency>
2424
<artifactId>google-cloud-compute</artifactId>
2525
<groupId>com.google.cloud</groupId>
26-
<version>1.3.0-alpha</version>
26+
<version>1.6.0-beta</version>
2727
</dependency>
2828
<dependency>
2929
<artifactId>google-cloud-storage</artifactId>
@@ -63,7 +63,7 @@
6363
<groupId>com.google.cloud</groupId>
6464
<scope>import</scope>
6565
<type>pom</type>
66-
<version>24.0.0</version>
66+
<version>24.1.0</version>
6767
</dependency>
6868
</dependencies>
6969
</dependencyManagement>

compute/cloud-client/src/main/java/compute/CreateEncryptedInstance.java

+8-11
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
// [START compute_instances_create_encrypted]
2020

21+
import com.google.api.gax.longrunning.OperationFuture;
2122
import com.google.cloud.compute.v1.AttachedDisk;
2223
import com.google.cloud.compute.v1.AttachedDisk.Type;
2324
import com.google.cloud.compute.v1.AttachedDiskInitializeParams;
@@ -27,7 +28,6 @@
2728
import com.google.cloud.compute.v1.InstancesClient;
2829
import com.google.cloud.compute.v1.NetworkInterface;
2930
import com.google.cloud.compute.v1.Operation;
30-
import com.google.cloud.compute.v1.ZoneOperationsClient;
3131
import java.io.IOException;
3232
import java.util.concurrent.ExecutionException;
3333

@@ -59,22 +59,21 @@ public static void createEncryptedInstance(String project, String zone, String i
5959
networkName: network interface to associate with the instance. */
6060
String machineType = String.format("zones/%s/machineTypes/n1-standard-1", zone);
6161
String sourceImage = String
62-
.format("projects/debian-cloud/global/images/family/%s", "debian-10");
62+
.format("projects/debian-cloud/global/images/family/%s", "debian-11");
6363
long diskSizeGb = 10L;
6464
String networkName = "default";
6565

6666
/* Initialize client that will be used to send requests. This client only needs to be created
6767
once, and can be reused for multiple requests. After completing all of your requests, call
6868
the `instancesClient.close()` method on the client to safely
6969
clean up any remaining background resources. */
70-
try (InstancesClient instancesClient = InstancesClient.create();
71-
ZoneOperationsClient zoneOperationsClient = ZoneOperationsClient.create()) {
70+
try (InstancesClient instancesClient = InstancesClient.create()) {
7271
// Instance creation requires at least one persistent disk and one network interface.
7372
AttachedDisk disk =
7473
AttachedDisk.newBuilder()
7574
.setBoot(true)
7675
.setAutoDelete(true)
77-
.setType(Type.PERSISTENT)
76+
.setType(Type.PERSISTENT.toString())
7877
.setInitializeParams(
7978
AttachedDiskInitializeParams.newBuilder()
8079
.setSourceImage(sourceImage)
@@ -99,7 +98,7 @@ public static void createEncryptedInstance(String project, String zone, String i
9998
.addNetworkInterfaces(networkInterface)
10099
.build();
101100

102-
System.out.println(String.format("Creating instance: %s at %s ", instanceName, zone));
101+
System.out.printf("Creating instance: %s at %s ", instanceName, zone);
103102

104103
// Insert the instance in the specified project and zone.
105104
InsertInstanceRequest insertInstanceRequest = InsertInstanceRequest.newBuilder()
@@ -108,13 +107,11 @@ public static void createEncryptedInstance(String project, String zone, String i
108107
.setInstanceResource(instanceResource)
109108
.build();
110109

111-
Operation operation =
112-
instancesClient.insertCallable()
113-
.futureCall(insertInstanceRequest)
114-
.get();
110+
OperationFuture<Operation, Operation> operation =
111+
instancesClient.insertAsync(insertInstanceRequest);
115112

116113
// Wait for the operation to complete.
117-
Operation response = zoneOperationsClient.wait(project, zone, operation.getName());
114+
Operation response = operation.get();
118115

119116
if (response.hasError()) {
120117
System.out.println("Instance creation failed ! ! " + response);

compute/cloud-client/src/main/java/compute/CreateFirewallRule.java

+7-9
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@
2222
import com.google.cloud.compute.v1.Firewall;
2323
import com.google.cloud.compute.v1.Firewall.Direction;
2424
import com.google.cloud.compute.v1.FirewallsClient;
25-
import com.google.cloud.compute.v1.GlobalOperationsClient;
2625
import com.google.cloud.compute.v1.InsertFirewallRequest;
27-
import com.google.cloud.compute.v1.Operation;
2826
import java.io.IOException;
2927
import java.util.UUID;
28+
import java.util.concurrent.ExecutionException;
3029

3130
public class CreateFirewallRule {
3231

33-
public static void main(String[] args) throws IOException {
32+
public static void main(String[] args)
33+
throws IOException, ExecutionException, InterruptedException {
3434
// TODO(developer): Replace these variables before running the sample
3535
/* project: project ID or project number of the Cloud project you want to use.
3636
firewallRuleName: name of the rule that is created.
@@ -49,18 +49,17 @@ public static void main(String[] args) throws IOException {
4949
// Creates a simple firewall rule allowing for incoming HTTP and
5050
// HTTPS access from the entire Internet.
5151
public static void createFirewall(String project, String firewallRuleName, String network)
52-
throws IOException {
52+
throws IOException, ExecutionException, InterruptedException {
5353
/* Initialize client that will be used to send requests. This client only needs to be created
5454
once, and can be reused for multiple requests. After completing all of your requests, call
5555
the `firewallsClient.close()` method on the client to safely
5656
clean up any remaining background resources. */
57-
try (FirewallsClient firewallsClient = FirewallsClient.create();
58-
GlobalOperationsClient operationsClient = GlobalOperationsClient.create()) {
57+
try (FirewallsClient firewallsClient = FirewallsClient.create()) {
5958

6059
// The below firewall rule is created in the default network.
6160
Firewall firewallRule = Firewall.newBuilder()
6261
.setName(firewallRuleName)
63-
.setDirection(Direction.INGRESS)
62+
.setDirection(Direction.INGRESS.toString())
6463
.addAllowed(
6564
Allowed.newBuilder().addPorts("80").addPorts("443").setIPProtocol("tcp").build())
6665
.addSourceRanges("0.0.0.0/0")
@@ -79,8 +78,7 @@ public static void createFirewall(String project, String firewallRuleName, Strin
7978
.setFirewallResource(firewallRule)
8079
.setProject(project).build();
8180

82-
Operation operation = firewallsClient.insert(insertFirewallRequest);
83-
operationsClient.wait(project, operation.getName());
81+
firewallsClient.insertAsync(insertFirewallRequest).get();
8482

8583
System.out.println("Firewall rule created successfully -> " + firewallRuleName);
8684
}

compute/cloud-client/src/main/java/compute/CreateInstance.java

+7-8
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
// [START compute_instances_create]
2020

21+
import com.google.api.gax.longrunning.OperationFuture;
2122
import com.google.cloud.compute.v1.AttachedDisk;
2223
import com.google.cloud.compute.v1.AttachedDisk.Type;
2324
import com.google.cloud.compute.v1.AttachedDiskInitializeParams;
@@ -26,7 +27,6 @@
2627
import com.google.cloud.compute.v1.InstancesClient;
2728
import com.google.cloud.compute.v1.NetworkInterface;
2829
import com.google.cloud.compute.v1.Operation;
29-
import com.google.cloud.compute.v1.ZoneOperationsClient;
3030
import java.io.IOException;
3131
import java.util.concurrent.ExecutionException;
3232

@@ -60,14 +60,13 @@ public static void createInstance(String project, String zone, String instanceNa
6060
// once, and can be reused for multiple requests. After completing all of your requests, call
6161
// the `instancesClient.close()` method on the client to safely
6262
// clean up any remaining background resources.
63-
try (InstancesClient instancesClient = InstancesClient.create();
64-
ZoneOperationsClient zoneOperationsClient = ZoneOperationsClient.create()) {
63+
try (InstancesClient instancesClient = InstancesClient.create()) {
6564
// Instance creation requires at least one persistent disk and one network interface.
6665
AttachedDisk disk =
6766
AttachedDisk.newBuilder()
6867
.setBoot(true)
6968
.setAutoDelete(true)
70-
.setType(Type.PERSISTENT)
69+
.setType(Type.PERSISTENT.toString())
7170
.setInitializeParams(
7271
AttachedDiskInitializeParams.newBuilder().setSourceImage(sourceImage)
7372
.setDiskSizeGb(diskSizeGb).build())
@@ -86,19 +85,19 @@ public static void createInstance(String project, String zone, String instanceNa
8685
.addNetworkInterfaces(networkInterface)
8786
.build();
8887

89-
System.out.println(String.format("Creating instance: %s at %s ", instanceName, zone));
88+
System.out.printf("Creating instance: %s at %s %n", instanceName, zone);
9089

9190
// Insert the instance in the specified project and zone.
9291
InsertInstanceRequest insertInstanceRequest = InsertInstanceRequest.newBuilder()
9392
.setProject(project)
9493
.setZone(zone)
9594
.setInstanceResource(instanceResource).build();
9695

97-
Operation operation = instancesClient.insertCallable().futureCall(insertInstanceRequest)
98-
.get();
96+
OperationFuture<Operation, Operation> operation = instancesClient.insertAsync(
97+
insertInstanceRequest);
9998

10099
// Wait for the operation to complete.
101-
Operation response = zoneOperationsClient.wait(project, zone, operation.getName());
100+
Operation response = operation.get();
102101

103102
if (response.hasError()) {
104103
System.out.println("Instance creation failed ! ! " + response);

0 commit comments

Comments
 (0)