Class DisksClient (1.88.0)

GitHub RepositoryProduct Reference

Service Description: The Disks API.

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (DisksClient disksClient = DisksClient.create()) {
   String project = "project-309310695";
   String zone = "zone3744684";
   String disk = "disk3083677";
   Disk response = disksClient.get(project, zone, disk);
 }
 

Note: close() needs to be called on the DisksClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

Methods
Method Description Method Variants

AddResourcePolicies

Adds existing resource policies to a disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • addResourcePoliciesAsync(AddResourcePoliciesDiskRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • addResourcePoliciesAsync(String project, String zone, String disk, DisksAddResourcePoliciesRequest disksAddResourcePoliciesRequestResource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • addResourcePoliciesOperationCallable()

  • addResourcePoliciesCallable()

AggregatedList

Retrieves an aggregated list of persistent disks. To prevent failure, Google recommends that you set the returnPartialSuccess parameter to true.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • aggregatedList(AggregatedListDisksRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • aggregatedList(String project)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • aggregatedListPagedCallable()

  • aggregatedListCallable()

BulkInsert

Bulk create a set of disks.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • bulkInsertAsync(BulkInsertDiskRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • bulkInsertAsync(String project, String zone, BulkInsertDiskResource bulkInsertDiskResourceResource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • bulkInsertOperationCallable()

  • bulkInsertCallable()

BulkSetLabels

Sets the labels on many disks at once. To learn more about labels, read the Labeling Resources documentation.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • bulkSetLabelsAsync(BulkSetLabelsDiskRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • bulkSetLabelsAsync(String project, String zone, BulkZoneSetLabelsRequest bulkZoneSetLabelsRequestResource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • bulkSetLabelsOperationCallable()

  • bulkSetLabelsCallable()

CreateSnapshot

Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • createSnapshotAsync(CreateSnapshotDiskRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • createSnapshotAsync(String project, String zone, String disk, Snapshot snapshotResource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • createSnapshotOperationCallable()

  • createSnapshotCallable()

Delete

Deletes the specified persistent disk. Deleting a disk removes its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • deleteAsync(DeleteDiskRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • deleteAsync(String project, String zone, String disk)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • deleteOperationCallable()

  • deleteCallable()

Get

Returns the specified persistent disk.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • get(GetDiskRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • get(String project, String zone, String disk)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • getCallable()

GetIamPolicy

Gets the access control policy for a resource. May be empty if no such policy or resource exists.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • getIamPolicy(GetIamPolicyDiskRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • getIamPolicy(String project, String zone, String resource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • getIamPolicyCallable()

Insert

Creates a persistent disk in the specified project using the data in the request. You can create a disk from a source (sourceImage, sourceSnapshot, or sourceDisk) or create an empty 500 GB data disk by omitting all properties. You can also create a disk that is larger than the default size by specifying the sizeGb property.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • insertAsync(InsertDiskRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • insertAsync(String project, String zone, Disk diskResource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • insertOperationCallable()

  • insertCallable()

List

Retrieves a list of persistent disks contained within the specified zone.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • list(ListDisksRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • list(String project, String zone)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • listPagedCallable()

  • listCallable()

RemoveResourcePolicies

Removes resource policies from a disk.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • removeResourcePoliciesAsync(RemoveResourcePoliciesDiskRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • removeResourcePoliciesAsync(String project, String zone, String disk, DisksRemoveResourcePoliciesRequest disksRemoveResourcePoliciesRequestResource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • removeResourcePoliciesOperationCallable()

  • removeResourcePoliciesCallable()

Resize

Resizes the specified persistent disk. You can only increase the size of the disk.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • resizeAsync(ResizeDiskRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • resizeAsync(String project, String zone, String disk, DisksResizeRequest disksResizeRequestResource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • resizeOperationCallable()

  • resizeCallable()

SetIamPolicy

Sets the access control policy on the specified resource. Replaces any existing policy.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • setIamPolicy(SetIamPolicyDiskRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • setIamPolicy(String project, String zone, String resource, ZoneSetPolicyRequest zoneSetPolicyRequestResource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • setIamPolicyCallable()

SetLabels

Sets the labels on a disk. To learn more about labels, read the Labeling Resources documentation.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • setLabelsAsync(SetLabelsDiskRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • setLabelsAsync(String project, String zone, String resource, ZoneSetLabelsRequest zoneSetLabelsRequestResource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • setLabelsOperationCallable()

  • setLabelsCallable()

StartAsyncReplication

Starts asynchronous replication. Must be invoked on the primary disk.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • startAsyncReplicationAsync(StartAsyncReplicationDiskRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • startAsyncReplicationAsync(String project, String zone, String disk, DisksStartAsyncReplicationRequest disksStartAsyncReplicationRequestResource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • startAsyncReplicationOperationCallable()

  • startAsyncReplicationCallable()

StopAsyncReplication

Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • stopAsyncReplicationAsync(StopAsyncReplicationDiskRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • stopAsyncReplicationAsync(String project, String zone, String disk)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • stopAsyncReplicationOperationCallable()

  • stopAsyncReplicationCallable()

StopGroupAsyncReplication

Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • stopGroupAsyncReplicationAsync(StopGroupAsyncReplicationDiskRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • stopGroupAsyncReplicationAsync(String project, String zone, DisksStopGroupAsyncReplicationResource disksStopGroupAsyncReplicationResourceResource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • stopGroupAsyncReplicationOperationCallable()

  • stopGroupAsyncReplicationCallable()

TestIamPermissions

Returns permissions that a caller has on the specified resource.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • testIamPermissions(TestIamPermissionsDiskRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • testIamPermissions(String project, String zone, String resource, TestPermissionsRequest testPermissionsRequestResource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • testIamPermissionsCallable()

Update

Updates the specified disk with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • updateAsync(UpdateDiskRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • updateAsync(String project, String zone, String disk, Disk diskResource)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • updateOperationCallable()

  • updateCallable()

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of DisksSettings to create(). For example:

To customize credentials:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 DisksSettings disksSettings =
     DisksSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 DisksClient disksClient = DisksClient.create(disksSettings);
 

To customize the endpoint:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 DisksSettings disksSettings = DisksSettings.newBuilder().setEndpoint(myEndpoint).build();
 DisksClient disksClient = DisksClient.create(disksSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

Inheritance

java.lang.Object > DisksClient

Static Methods

create()

public static final DisksClient create()

Constructs an instance of DisksClient with default settings.

Returns
Type Description
DisksClient
Exceptions
Type Description
IOException

create(DisksSettings settings)

public static final DisksClient create(DisksSettings settings)

Constructs an instance of DisksClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
Name Description
settings DisksSettings
Returns
Type Description
DisksClient
Exceptions
Type Description
IOException

create(DisksStub stub)

public static final DisksClient create(DisksStub stub)

Constructs an instance of DisksClient, using the given stub for making calls. This is for advanced usage - prefer using create(DisksSettings).

Parameter
Name Description
stub DisksStub
Returns
Type Description
DisksClient

Constructors

DisksClient(DisksSettings settings)

protected DisksClient(DisksSettings settings)

Constructs an instance of DisksClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.

Parameter
Name Description
settings DisksSettings

DisksClient(DisksStub stub)

protected DisksClient(DisksStub stub)
Parameter
Name Description
stub DisksStub

Methods

addResourcePoliciesAsync(AddResourcePoliciesDiskRequest request)

public final OperationFuture<Operation,Operation> addResourcePoliciesAsync(AddResourcePoliciesDiskRequest request)

Adds existing resource policies to a disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (DisksClient disksClient = DisksClient.create()) {
   AddResourcePoliciesDiskRequest request =
       AddResourcePoliciesDiskRequest.newBuilder()
           .setDisk("disk3083677")
           .setDisksAddResourcePoliciesRequestResource(
               DisksAddResourcePoliciesRequest.newBuilder().build())
           .setProject("project-309310695")
           .setRequestId("requestId693933066")
           .setZone("zone3744684")
           .build();
   Operation response = disksClient.addResourcePoliciesAsync(request).get();
 }
 
Parameter
Name Description
request AddResourcePoliciesDiskRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
OperationFuture<Operation,Operation>

addResourcePoliciesAsync(String project, String zone, String disk, DisksAddResourcePoliciesRequest disksAddResourcePoliciesRequestResource)

public final OperationFuture<Operation,Operation> addResourcePoliciesAsync(String project, String zone, String disk, DisksAddResourcePoliciesRequest disksAddResourcePoliciesRequestResource)

Adds existing resource policies to a disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (DisksClient disksClient = DisksClient.create()) {
   String project = "project-309310695";
   String zone = "zone3744684";
   String disk = "disk3083677";
   DisksAddResourcePoliciesRequest disksAddResourcePoliciesRequestResource =
       DisksAddResourcePoliciesRequest.newBuilder().build();
   Operation response =
       disksClient
           .addResourcePoliciesAsync(
               project, zone, disk, disksAddResourcePoliciesRequestResource)
           .get();
 }
 
Parameters
Name Description
project String

Project ID for this request.

zone String

The name of the zone for this request.

disk String

The disk name for this request.

disksAddResourcePoliciesRequestResource DisksAddResourcePoliciesRequest

The body resource for this request

Returns
Type Description
OperationFuture<Operation,Operation>

addResourcePoliciesCallable()

public final UnaryCallable<AddResourcePoliciesDiskRequest,Operation> addResourcePoliciesCallable()

Adds existing resource policies to a disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (DisksClient disksClient = DisksClient.create()) {
   AddResourcePoliciesDiskRequest request =
       AddResourcePoliciesDiskRequest.newBuilder()
           .setDisk("disk3083677")
           .setDisksAddResourcePoliciesRequestResource(
               DisksAddResourcePoliciesRequest.newBuilder().build())
           .setProject("project-309310695")
           .setRequestId("requestId693933066")
           .setZone("zone3744684")
           .build();
   ApiFuture<Operation> future = disksClient.addResourcePoliciesCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
Type Description
UnaryCallable<AddResourcePoliciesDiskRequest,Operation>

addResourcePoliciesOperationCallable()

public final OperationCallable<AddResourcePoliciesDiskRequest,Operation,Operation> addResourcePoliciesOperationCallable()

Adds existing resource policies to a disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (DisksClient disksClient = DisksClient.create()) {
   AddResourcePoliciesDiskRequest request =
       AddResourcePoliciesDiskRequest.newBuilder()
           .setDisk("disk3083677")
           .setDisksAddResourcePoliciesRequestResource(
               DisksAddResourcePoliciesRequest.newBuilder().build())
           .setProject("project-309310695")
           .setRequestId("requestId693933066")
           .setZone("zone3744684")
           .build();
   OperationFuture<Operation, Operation> future =
       disksClient.addResourcePoliciesOperationCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
Type Description
OperationCallable<AddResourcePoliciesDiskRequest,Operation,Operation>

aggregatedList(AggregatedListDisksRequest request)

public final DisksClient.AggregatedListPagedResponse aggregatedList(AggregatedListDisksRequest request)

Retrieves an aggregated list of persistent disks. To prevent failure, Google recommends that you set the returnPartialSuccess parameter to true.

Sample code:


 // This snippet has been automatically generated and should be regarded as a code template only.
 // It will require modifications to work:
 // - It may require correct/in-range values for request initialization.
 // - It may require specifying regional endpoints when creating the service client as shown in
 // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
 try (DisksClient disksClient = DisksClient.create()) {
   AggregatedListDisksRequest request =
       AggregatedListDisksRequest.newBuilder()
           .setFilter("filter-1274492040")
           .setIncludeAllScopes(true)
           .setMaxResults(1128457243)
           .setOrderBy("orderBy-1207110587")
           .setPageToken("pageToken873572522")
           .setProject("project-309310695")
           .setReturnPartialSuccess(true)
           .setServiceProjectNumber(-1293855239)
           .build();
   for (Map.Entry<String, DisksScopedList> element :
       disksClient.aggregatedList(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
Name Description
request AggregatedListDisksRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
DisksClient.AggregatedListPagedResponse

aggregatedList(String project)

public final DisksClient.AggregatedListPagedResponse aggregatedList