Skip to content

Commit 35b9bf4

Browse files
Fixed code
1 parent d71d16e commit 35b9bf4

File tree

1 file changed

+25
-39
lines changed

1 file changed

+25
-39
lines changed

compute/cloud-client/src/main/java/compute/disks/consistencygroup/BulkCreateDisks.java

Lines changed: 25 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,8 @@
11
package compute.disks.consistencygroup;
22

3-
import com.google.cloud.compute.v1.BulkInsertDiskRequest;
4-
import com.google.cloud.compute.v1.BulkInsertDiskResource;
5-
import com.google.cloud.compute.v1.BulkInsertRegionDiskRequest;
6-
import com.google.cloud.compute.v1.Disk;
7-
import com.google.cloud.compute.v1.DisksClient;
8-
import com.google.cloud.compute.v1.ListDisksRequest;
9-
import com.google.cloud.compute.v1.ListRegionDisksRequest;
10-
import com.google.cloud.compute.v1.Operation;
11-
import com.google.cloud.compute.v1.RegionDisksClient;
3+
import com.google.cloud.compute.v1.*;
124

135
import java.io.IOException;
14-
import java.util.ArrayList;
15-
import java.util.List;
166
import java.util.concurrent.ExecutionException;
177
import java.util.concurrent.TimeUnit;
188
import java.util.concurrent.TimeoutException;
@@ -22,44 +12,40 @@ public class BulkCreateDisks {
2212
public static void main(String[] args) throws IOException, ExecutionException, InterruptedException, TimeoutException {
2313
// TODO(developer): Replace these variables before running the sample.
2414
String project = "tyaho-softserve-project";
25-
String region = "us-central1"; // Or region
26-
String consistencyGroupPolicy = "my-group"; // Replace with your consistency group self-link
27-
28-
29-
bulkCreateDisks(project, region, consistencyGroupPolicy);
15+
String disksLocation = "northamerica-northeast1-a";
16+
String consistencyGroupLocation = "northamerica-northeast1"; // Or region
17+
String consistencyGroupName = "consistency-group-2"; // Replace with your consistency group self-link
18+
cloneDisksFromConsistencyGroup(project, disksLocation, consistencyGroupName,
19+
consistencyGroupLocation);
3020
}
3121

3222
// Creates multiple disks from a consistency group policy.
33-
public static List<Disk> bulkCreateDisks(String project, String region, String consistencyGroupPolicy) throws IOException, ExecutionException, InterruptedException, TimeoutException {
34-
String sourceConsistencyGroupPolicy = String.format("projects/%s/regions/%s/resourcePolicies/%s", project,region, consistencyGroupPolicy);
35-
try (RegionDisksClient disksClient = RegionDisksClient.create()) {
36-
BulkInsertDiskResource.Builder bulkInsertDiskResource = BulkInsertDiskResource.newBuilder()
37-
.setSourceConsistencyGroupPolicy(sourceConsistencyGroupPolicy);
23+
public static void cloneDisksFromConsistencyGroup(String project, String disksLocation, String consistencyGroupLocation, String consistencyGroupName) throws IOException, ExecutionException, InterruptedException, TimeoutException {
24+
String sourceConsistencyGroupPolicy = String.format("projects/%s/regions/%s/resourcePolicies/%s", project,consistencyGroupLocation, consistencyGroupName);
25+
String region = disksLocation.substring(0, disksLocation.lastIndexOf('-'));
3826

39-
BulkInsertRegionDiskRequest bulkCreateDisksRequest = BulkInsertRegionDiskRequest.newBuilder()
40-
.setProject(project)
41-
.setRegion(region)
42-
.setBulkInsertDiskResourceResource(bulkInsertDiskResource.build())
43-
.build();
27+
try (RegionDisksClient regionDisksClient = RegionDisksClient.create()) {
4428

45-
Operation operation = disksClient.bulkInsertAsync(bulkCreateDisksRequest).get(3, TimeUnit.MINUTES);
46-
ListRegionDisksRequest listRequest =
29+
BulkInsertDiskResource bulkInsertDiskResource = BulkInsertDiskResource.newBuilder()
30+
.setSourceConsistencyGroupPolicy(sourceConsistencyGroupPolicy)
31+
.build();
4732

48-
ListRegionDisksRequest.newBuilder()
33+
BulkInsertRegionDiskRequest bulkInsertRegionDiskRequest = BulkInsertRegionDiskRequest
34+
.newBuilder()
4935
.setProject(project)
5036
.setRegion(region)
51-
// .setFilter(filter)
37+
.setBulkInsertDiskResourceResource(bulkInsertDiskResource)
5238
.build();
53-
List<Disk> createdDisks = new ArrayList<>();
54-
for (Disk disk : disksClient.list(listRequest).iterateAll()) {
55-
createdDisks.add(disk);
56-
System.out.println("Created Disk: " + disk.getName()); // Or other relevant info
57-
}
58-
if (operation.hasError()) {
59-
return null;
39+
Operation operation = regionDisksClient.bulkInsertAsync(bulkInsertRegionDiskRequest).get(3,
40+
TimeUnit.MINUTES);
41+
42+
43+
if(operation.hasError() ) {
44+
System.out.println("Clone disks from consistency group failed! " + operation.getError().toString());
45+
return;
6046
}
61-
System.out.println(createdDisks);
62-
return createdDisks;
47+
System.out.println(String.format("Disks cloned from consistency group: %s.",
48+
consistencyGroupName));
6349

6450
}
6551
}

0 commit comments

Comments
 (0)