Skip to content

Commit 88d83b3

Browse files
Resolved merge conflict
2 parents 011ef64 + 0b5e7fd commit 88d83b3

File tree

9 files changed

+439
-388
lines changed

9 files changed

+439
-388
lines changed

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

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -27,63 +27,66 @@
2727
import java.io.IOException;
2828
import java.util.Arrays;
2929
import java.util.concurrent.ExecutionException;
30+
import java.util.concurrent.TimeUnit;
31+
import java.util.concurrent.TimeoutException;
3032

3133
public class AddDiskToConsistencyGroup {
3234
public static void main(String[] args)
33-
throws IOException, ExecutionException, InterruptedException {
35+
throws IOException, ExecutionException, InterruptedException, TimeoutException {
3436
// TODO(developer): Replace these variables before running the sample.
35-
// The project that contains the disk.
37+
// Project ID or project number of the Cloud project that contains the disk.
3638
String project = "YOUR_PROJECT_ID";
37-
// The zone or region of the disk.
39+
// Zone or region of the disk.
3840
String location = "us-central1";
39-
// The name of the disk.
41+
// Name of the disk.
4042
String diskName = "DISK_NAME";
41-
// The name of the consistency group.
43+
// Name of the consistency group.
4244
String consistencyGroupName = "CONSISTENCY_GROUP";
43-
// The region of the consistency group.
45+
// Region of the consistency group.
4446
String consistencyGroupLocation = "us-central1";
47+
4548
addDiskToConsistencyGroup(
46-
project, location, diskName, consistencyGroupName, consistencyGroupLocation);
49+
project, location, diskName, consistencyGroupName, consistencyGroupLocation);
4750
}
4851

49-
// Adds a disk to a Consistency Group.
52+
// Adds a disk to a consistency group.
5053
public static Operation.Status addDiskToConsistencyGroup(
51-
String project, String location, String diskName,
52-
String consistencyGroupName, String consistencyGroupLocation)
53-
throws IOException, ExecutionException, InterruptedException {
54+
String project, String location, String diskName,
55+
String consistencyGroupName, String consistencyGroupLocation)
56+
throws IOException, ExecutionException, InterruptedException, TimeoutException {
5457
String consistencyGroupUrl = String.format(
55-
"https://www.googleapis.com/compute/v1/projects/%s/regions/%s/resourcePolicies/%s",
56-
project, consistencyGroupLocation, consistencyGroupName);
58+
"https://www.googleapis.com/compute/v1/projects/%s/regions/%s/resourcePolicies/%s",
59+
project, consistencyGroupLocation, consistencyGroupName);
5760
Operation response;
5861
if (Character.isDigit(location.charAt(location.length() - 1))) {
5962
// Initialize client that will be used to send requests. This client only needs to be created
6063
// once, and can be reused for multiple requests.
6164
try (RegionDisksClient disksClient = RegionDisksClient.create()) {
6265
AddResourcePoliciesRegionDiskRequest request =
6366
AddResourcePoliciesRegionDiskRequest.newBuilder()
64-
.setDisk(diskName)
65-
.setRegion(location)
66-
.setProject(project)
67-
.setRegionDisksAddResourcePoliciesRequestResource(
68-
RegionDisksAddResourcePoliciesRequest.newBuilder()
69-
.addAllResourcePolicies(Arrays.asList(consistencyGroupUrl))
70-
.build())
71-
.build();
72-
response = disksClient.addResourcePoliciesAsync(request).get();
67+
.setDisk(diskName)
68+
.setRegion(location)
69+
.setProject(project)
70+
.setRegionDisksAddResourcePoliciesRequestResource(
71+
RegionDisksAddResourcePoliciesRequest.newBuilder()
72+
.addAllResourcePolicies(Arrays.asList(consistencyGroupUrl))
73+
.build())
74+
.build();
75+
response = disksClient.addResourcePoliciesAsync(request).get(1, TimeUnit.MINUTES);
7376
}
7477
} else {
7578
try (DisksClient disksClient = DisksClient.create()) {
7679
AddResourcePoliciesDiskRequest request =
7780
AddResourcePoliciesDiskRequest.newBuilder()
78-
.setDisk(diskName)
79-
.setZone(location)
80-
.setProject(project)
81-
.setDisksAddResourcePoliciesRequestResource(
82-
DisksAddResourcePoliciesRequest.newBuilder()
83-
.addAllResourcePolicies(Arrays.asList(consistencyGroupUrl))
84-
.build())
85-
.build();
86-
response = disksClient.addResourcePoliciesAsync(request).get();
81+
.setDisk(diskName)
82+
.setZone(location)
83+
.setProject(project)
84+
.setDisksAddResourcePoliciesRequestResource(
85+
DisksAddResourcePoliciesRequest.newBuilder()
86+
.addAllResourcePolicies(Arrays.asList(consistencyGroupUrl))
87+
.build())
88+
.build();
89+
response = disksClient.addResourcePoliciesAsync(request).get(1, TimeUnit.MINUTES);
8790
}
8891
}
8992
if (response.hasError()) {
Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,19 @@
1717
package compute.disks.consistencygroup;
1818

1919
// [START compute_consistency_group_create]
20+
import com.google.cloud.compute.v1.InsertResourcePolicyRequest;
2021
import com.google.cloud.compute.v1.Operation;
2122
import com.google.cloud.compute.v1.ResourcePoliciesClient;
2223
import com.google.cloud.compute.v1.ResourcePolicy;
2324
import java.io.IOException;
2425
import java.util.concurrent.ExecutionException;
26+
import java.util.concurrent.TimeUnit;
27+
import java.util.concurrent.TimeoutException;
2528

26-
public class CreateDiskConsistencyGroup {
29+
public class CreateConsistencyGroup {
2730

2831
public static void main(String[] args)
29-
throws IOException, ExecutionException, InterruptedException {
32+
throws IOException, ExecutionException, InterruptedException, TimeoutException {
3033
// TODO(developer): Replace these variables before running the sample.
3134
// Project ID or project number of the Cloud project you want to use.
3235
String project = "YOUR_PROJECT_ID";
@@ -35,13 +38,13 @@ public static void main(String[] args)
3538
// Name of the consistency group you want to create.
3639
String consistencyGroupName = "YOUR_CONSISTENCY_GROUP_NAME";
3740

38-
createDiskConsistencyGroup(project, region, consistencyGroupName);
41+
createConsistencyGroup(project, region, consistencyGroupName);
3942
}
4043

41-
// Creates a new disk consistency group resource policy in the specified project and region.
42-
public static Operation.Status createDiskConsistencyGroup(
44+
// Creates a new consistency group resource policy in the specified project and region.
45+
public static Operation.Status createConsistencyGroup(
4346
String project, String region, String consistencyGroupName)
44-
throws IOException, ExecutionException, InterruptedException {
47+
throws IOException, ExecutionException, InterruptedException, TimeoutException {
4548
// Initialize client that will be used to send requests. This client only needs to be created
4649
// once, and can be reused for multiple requests.
4750
try (ResourcePoliciesClient regionResourcePoliciesClient = ResourcePoliciesClient.create()) {
@@ -53,8 +56,14 @@ public static Operation.Status createDiskConsistencyGroup(
5356
ResourcePolicy.newBuilder().getDiskConsistencyGroupPolicy())
5457
.build();
5558

59+
InsertResourcePolicyRequest request = InsertResourcePolicyRequest.newBuilder()
60+
.setProject(project)
61+
.setRegion(region)
62+
.setResourcePolicyResource(resourcePolicy)
63+
.build();
64+
5665
Operation response =
57-
regionResourcePoliciesClient.insertAsync(project, region, resourcePolicy).get();
66+
regionResourcePoliciesClient.insertAsync(request).get(1, TimeUnit.MINUTES);
5867

5968
if (response.hasError()) {
6069
throw new Error("Error creating consistency group! " + response.getError());
Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,31 +21,33 @@
2121
import com.google.cloud.compute.v1.ResourcePoliciesClient;
2222
import java.io.IOException;
2323
import java.util.concurrent.ExecutionException;
24+
import java.util.concurrent.TimeUnit;
25+
import java.util.concurrent.TimeoutException;
2426

25-
public class DeleteDiskConsistencyGroup {
27+
public class DeleteConsistencyGroup {
2628

2729
public static void main(String[] args)
28-
throws IOException, ExecutionException, InterruptedException {
30+
throws IOException, ExecutionException, InterruptedException, TimeoutException {
2931
// TODO(developer): Replace these variables before running the sample.
3032
// Project ID or project number of the Cloud project you want to use.
3133
String project = "YOUR_PROJECT_ID";
32-
// Name of the region in which your consistency group is located.
34+
// Region in which your consistency group is located.
3335
String region = "us-central1";
3436
// Name of the consistency group you want to delete.
3537
String consistencyGroupName = "YOUR_CONSISTENCY_GROUP_NAME";
3638

37-
deleteDiskConsistencyGroup(project, region, consistencyGroupName);
39+
deleteConsistencyGroup(project, region, consistencyGroupName);
3840
}
3941

40-
// Deletes a disk consistency group resource policy in the specified project and region.
41-
public static Operation.Status deleteDiskConsistencyGroup(
42+
// Deletes a consistency group resource policy in the specified project and region.
43+
public static Operation.Status deleteConsistencyGroup(
4244
String project, String region, String consistencyGroupName)
43-
throws IOException, ExecutionException, InterruptedException {
45+
throws IOException, ExecutionException, InterruptedException, TimeoutException {
4446
// Initialize client that will be used to send requests. This client only needs to be created
4547
// once, and can be reused for multiple requests.
4648
try (ResourcePoliciesClient resourcePoliciesClient = ResourcePoliciesClient.create()) {
4749
Operation response = resourcePoliciesClient
48-
.deleteAsync(project, region, consistencyGroupName).get();
50+
.deleteAsync(project, region, consistencyGroupName).get(1, TimeUnit.MINUTES);
4951

5052
if (response.hasError()) {
5153
throw new Error("Error deleting disk! " + response.getError());
@@ -54,4 +56,4 @@ public static Operation.Status deleteDiskConsistencyGroup(
5456
}
5557
}
5658
}
57-
// [END compute_consistency_group_delete]
59+
// [END compute_consistency_group_delete]

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

Lines changed: 36 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -27,66 +27,68 @@
2727
import java.io.IOException;
2828
import java.util.Arrays;
2929
import java.util.concurrent.ExecutionException;
30+
import java.util.concurrent.TimeUnit;
31+
import java.util.concurrent.TimeoutException;
3032

3133
public class RemoveDiskFromConsistencyGroup {
3234

3335
public static void main(String[] args)
34-
throws IOException, ExecutionException, InterruptedException {
36+
throws IOException, ExecutionException, InterruptedException, TimeoutException {
3537
// TODO(developer): Replace these variables before running the sample.
36-
// The project that contains the disk.
38+
// Project ID or project number of the Cloud project that contains the disk.
3739
String project = "YOUR_PROJECT_ID";
38-
// The zone or region of the disk.
40+
// Zone or region of the disk.
3941
String location = "us-central1";
40-
// The name of the disk.
42+
// Name of the disk.
4143
String diskName = "DISK_NAME";
42-
// The name of the consistency group.
44+
// Name of the consistency group.
4345
String consistencyGroupName = "CONSISTENCY_GROUP";
44-
// The region of the consistency group.
46+
// Region of the consistency group.
4547
String consistencyGroupLocation = "us-central1";
4648

4749
removeDiskFromConsistencyGroup(
48-
project, location, diskName, consistencyGroupName, consistencyGroupLocation);
50+
project, location, diskName, consistencyGroupName, consistencyGroupLocation);
4951
}
5052

51-
// Removes a disk from a Consistency Group.
53+
// Removes a disk from a consistency group.
5254
public static Operation.Status removeDiskFromConsistencyGroup(
53-
String project, String location, String diskName,
54-
String consistencyGroupName, String consistencyGroupLocation)
55-
throws IOException, ExecutionException, InterruptedException {
55+
String project, String location, String diskName,
56+
String consistencyGroupName, String consistencyGroupLocation)
57+
throws IOException, ExecutionException, InterruptedException, TimeoutException {
5658
String consistencyGroupUrl = String.format(
57-
"https://www.googleapis.com/compute/v1/projects/%s/regions/%s/resourcePolicies/%s",
58-
project, consistencyGroupLocation, consistencyGroupName);
59+
"https://www.googleapis.com/compute/v1/projects/%s/regions/%s/resourcePolicies/%s",
60+
project, consistencyGroupLocation, consistencyGroupName);
5961
Operation response;
6062
if (Character.isDigit(location.charAt(location.length() - 1))) {
6163
// Initialize client that will be used to send requests. This client only needs to be created
6264
// once, and can be reused for multiple requests.
6365
try (RegionDisksClient disksClient = RegionDisksClient.create()) {
6466
RemoveResourcePoliciesRegionDiskRequest request =
65-
RemoveResourcePoliciesRegionDiskRequest.newBuilder()
66-
.setDisk(diskName)
67-
.setRegion(location)
68-
.setProject(project)
69-
.setRegionDisksRemoveResourcePoliciesRequestResource(
70-
RegionDisksRemoveResourcePoliciesRequest.newBuilder()
71-
.addAllResourcePolicies(Arrays.asList(consistencyGroupUrl))
72-
.build())
73-
.build();
67+
RemoveResourcePoliciesRegionDiskRequest.newBuilder()
68+
.setDisk(diskName)
69+
.setRegion(location)
70+
.setProject(project)
71+
.setRegionDisksRemoveResourcePoliciesRequestResource(
72+
RegionDisksRemoveResourcePoliciesRequest.newBuilder()
73+
.addAllResourcePolicies(Arrays.asList(consistencyGroupUrl))
74+
.build())
75+
.build();
7476

75-
response = disksClient.removeResourcePoliciesAsync(request).get();
77+
response = disksClient.removeResourcePoliciesAsync(request).get(1, TimeUnit.MINUTES);
7678
}
7779
} else {
7880
try (DisksClient disksClient = DisksClient.create()) {
7981
RemoveResourcePoliciesDiskRequest request =
80-
RemoveResourcePoliciesDiskRequest.newBuilder()
81-
.setDisk(diskName)
82-
.setZone(location)
83-
.setProject(project)
84-
.setDisksRemoveResourcePoliciesRequestResource(
85-
DisksRemoveResourcePoliciesRequest.newBuilder()
86-
.addAllResourcePolicies(Arrays.asList(consistencyGroupUrl))
87-
.build())
88-
.build();
89-
response = disksClient.removeResourcePoliciesAsync(request).get();
82+
RemoveResourcePoliciesDiskRequest.newBuilder()
83+
.setDisk(diskName)
84+
.setZone(location)
85+
.setProject(project)
86+
.setDisksRemoveResourcePoliciesRequestResource(
87+
DisksRemoveResourcePoliciesRequest.newBuilder()
88+
.addAllResourcePolicies(Arrays.asList(consistencyGroupUrl))
89+
.build())
90+
.build();
91+
response = disksClient.removeResourcePoliciesAsync(request).get(1, TimeUnit.MINUTES);
9092
}
9193
}
9294
if (response.hasError()) {
@@ -95,4 +97,4 @@ public static Operation.Status removeDiskFromConsistencyGroup(
9597
return response.getStatus();
9698
}
9799
}
98-
// [END compute_consistency_group_remove_disk]
100+
// [END compute_consistency_group_remove_disk]

0 commit comments

Comments
 (0)