2727import java .io .IOException ;
2828import java .util .Arrays ;
2929import java .util .concurrent .ExecutionException ;
30+ import java .util .concurrent .TimeUnit ;
31+ import java .util .concurrent .TimeoutException ;
3032
3133public 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