# Class BareMetalSolutionGrpc.BareMetalSolutionFutureStub (0.91.0)

0.91.0 (latest) 0.88.0 0.87.0 0.85.0 0.83.0 0.82.0 0.81.0 0.80.0 0.78.0 0.76.0 0.75.0 0.74.0 0.73.0 0.72.0 0.70.0 0.68.0 0.67.0 0.64.0 0.63.0 0.62.0 0.60.0 0.59.0 0.58.0 0.57.0 0.56.0 0.55.0 0.54.0 0.53.0 0.52.0 0.51.0 0.49.0 0.48.0 0.47.0 0.46.0 0.45.0 0.44.0 0.43.0 0.42.0 0.41.0 0.40.0 0.39.0 0.37.0 0.36.0 0.35.0 0.34.0 0.33.0 0.32.0 0.31.0 0.30.0 0.29.0 0.28.0 0.27.0 0.24.0 0.23.0 0.22.0 0.21.0 0.20.0 0.19.0 0.18.0 0.17.0 0.16.0 0.15.0 0.14.0 0.13.0 0.12.0 0.11.0 0.10.0 0.9.0 0.8.0 0.7.0 0.6.0 0.5.0 0.4.0 0.3.8 0.2.1 0.1.1

    public static final class BareMetalSolutionGrpc.BareMetalSolutionFutureStub extends AbstractFutureStub<BareMetalSolutionGrpc.BareMetalSolutionFutureStub>

A stub to allow clients to do ListenableFuture-style rpc calls to service BareMetalSolution.

Performs management operations on Bare Metal Solution servers.
The `baremetalsolution.googleapis.com` service provides management
capabilities for Bare Metal Solution servers. To access the API methods, you
must assign Bare Metal Solution IAM roles containing the desired permissions
to your staff in your Google Cloud project. You must also enable the Bare
Metal Solution API. Once enabled, the methods act
upon specific servers in your Bare Metal Solution environment.

## Inheritance

[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \> io.grpc.stub.AbstractStub \> io.grpc.stub.AbstractFutureStub \> BareMetalSolutionGrpc.BareMetalSolutionFutureStub

## Inherited Members

io.grpc.stub.AbstractFutureStub.\<T\>newStub(io.grpc.stub.AbstractStub.StubFactory\<T\>,io.grpc.Channel) io.grpc.stub.AbstractFutureStub.\<T\>newStub(io.grpc.stub.AbstractStub.StubFactory\<T\>,io.grpc.Channel,io.grpc.CallOptions) io.grpc.stub.AbstractStub.\<T\>withOption(io.grpc.CallOptions.Key\<T\>,T) io.grpc.stub.AbstractStub.build(io.grpc.Channel,io.grpc.CallOptions) io.grpc.stub.AbstractStub.getCallOptions() io.grpc.stub.AbstractStub.getChannel() io.grpc.stub.AbstractStub.withCallCredentials(io.grpc.CallCredentials) io.grpc.stub.AbstractStub.withChannel(io.grpc.Channel) io.grpc.stub.AbstractStub.withCompression(java.lang.String) io.grpc.stub.AbstractStub.withDeadline(io.grpc.Deadline) io.grpc.stub.AbstractStub.withDeadlineAfter(java.time.Duration) io.grpc.stub.AbstractStub.withDeadlineAfter(long,java.util.concurrent.TimeUnit) io.grpc.stub.AbstractStub.withExecutor(java.util.concurrent.Executor) io.grpc.stub.AbstractStub.withInterceptors(io.grpc.ClientInterceptor...) io.grpc.stub.AbstractStub.withMaxInboundMessageSize(int) io.grpc.stub.AbstractStub.withMaxOutboundMessageSize(int) io.grpc.stub.AbstractStub.withOnReadyThreshold(int) io.grpc.stub.AbstractStub.withWaitForReady() [Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) [Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) [Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) [Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) [Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) [Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) [Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) [Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) [Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) [Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) [Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)

## Methods

### build(Channel channel, CallOptions callOptions)

    protected BareMetalSolutionGrpc.BareMetalSolutionFutureStub build(Channel channel, CallOptions callOptions)

| **Parameters** ||
|---|---|
| **Name** | **Description** |
| `channel` | `io.grpc.Channel` |
| `callOptions` | `io.grpc.CallOptions` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.BareMetalSolutionGrpc.BareMetalSolutionFutureStub` |   |

**Overrides** io.grpc.stub.AbstractStub.build(io.grpc.Channel,io.grpc.CallOptions)

### createNfsShare(CreateNfsShareRequest request)

    public ListenableFuture<Operation> createNfsShare(CreateNfsShareRequest request)

Create an NFS share.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.CreateNfsShareRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### createProvisioningConfig(CreateProvisioningConfigRequest request)

    public ListenableFuture<ProvisioningConfig> createProvisioningConfig(CreateProvisioningConfigRequest request)

Create new ProvisioningConfig.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.CreateProvisioningConfigRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ProvisioningConfig>` |   |

### createSSHKey(CreateSSHKeyRequest request)

    public ListenableFuture<SSHKey> createSSHKey(CreateSSHKeyRequest request)

Register a public SSH key in the specified project for use with the
interactive serial console feature.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.CreateSSHKeyRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.SSHKey>` |   |

### createVolumeSnapshot(CreateVolumeSnapshotRequest request)

    public ListenableFuture<VolumeSnapshot> createVolumeSnapshot(CreateVolumeSnapshotRequest request)

Takes a snapshot of a boot volume.
Returns INVALID_ARGUMENT if called for a non-boot volume.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.CreateVolumeSnapshotRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.VolumeSnapshot>` |   |

### deleteNfsShare(DeleteNfsShareRequest request)

    public ListenableFuture<Operation> deleteNfsShare(DeleteNfsShareRequest request)

Delete an NFS share. The underlying volume is automatically deleted.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.DeleteNfsShareRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### deleteSSHKey(DeleteSSHKeyRequest request)

    public ListenableFuture<Empty> deleteSSHKey(DeleteSSHKeyRequest request)

Deletes a public SSH key registered in the specified project.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.DeleteSSHKeyRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Empty.html>` |   |

### deleteVolumeSnapshot(DeleteVolumeSnapshotRequest request)

    public ListenableFuture<Empty> deleteVolumeSnapshot(DeleteVolumeSnapshotRequest request)

Deletes a volume snapshot.
Returns INVALID_ARGUMENT if called for a non-boot volume.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.DeleteVolumeSnapshotRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.Empty.html>` |   |

### detachLun(DetachLunRequest request)

    public ListenableFuture<Operation> detachLun(DetachLunRequest request)

Detach LUN from Instance.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.DetachLunRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### disableInteractiveSerialConsole(DisableInteractiveSerialConsoleRequest request)

    public ListenableFuture<Operation> disableInteractiveSerialConsole(DisableInteractiveSerialConsoleRequest request)

Disable the interactive serial console feature on an instance.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.DisableInteractiveSerialConsoleRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### enableInteractiveSerialConsole(EnableInteractiveSerialConsoleRequest request)

    public ListenableFuture<Operation> enableInteractiveSerialConsole(EnableInteractiveSerialConsoleRequest request)

Enable the interactive serial console feature on an instance.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.EnableInteractiveSerialConsoleRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### evictLun(EvictLunRequest request)

    public ListenableFuture<Operation> evictLun(EvictLunRequest request)

Skips lun's cooloff and deletes it now.
Lun must be in cooloff state.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.EvictLunRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### evictVolume(EvictVolumeRequest request)

    public ListenableFuture<Operation> evictVolume(EvictVolumeRequest request)

Skips volume's cooloff and deletes it now.
Volume must be in cooloff state.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.EvictVolumeRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### getInstance(GetInstanceRequest request)

    public ListenableFuture<Instance> getInstance(GetInstanceRequest request)

Get details about a single server.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.GetInstanceRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.Instance>` |   |

### getLun(GetLunRequest request)

    public ListenableFuture<Lun> getLun(GetLunRequest request)

Get details of a single storage logical unit number(LUN).

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.GetLunRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.Lun>` |   |

### getNetwork(GetNetworkRequest request)

    public ListenableFuture<Network> getNetwork(GetNetworkRequest request)

Get details of a single network.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.GetNetworkRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.Network>` |   |

### getNfsShare(GetNfsShareRequest request)

    public ListenableFuture<NfsShare> getNfsShare(GetNfsShareRequest request)

Get details of a single NFS share.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.GetNfsShareRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.NfsShare>` |   |

### getProvisioningConfig(GetProvisioningConfigRequest request)

    public ListenableFuture<ProvisioningConfig> getProvisioningConfig(GetProvisioningConfigRequest request)

Get ProvisioningConfig by name.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.GetProvisioningConfigRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ProvisioningConfig>` |   |

### getVolume(GetVolumeRequest request)

    public ListenableFuture<Volume> getVolume(GetVolumeRequest request)

Get details of a single storage volume.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.GetVolumeRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.Volume>` |   |

### getVolumeSnapshot(GetVolumeSnapshotRequest request)

    public ListenableFuture<VolumeSnapshot> getVolumeSnapshot(GetVolumeSnapshotRequest request)

Returns the specified snapshot resource.
Returns INVALID_ARGUMENT if called for a non-boot volume.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.GetVolumeSnapshotRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.VolumeSnapshot>` |   |

### listInstances(ListInstancesRequest request)

    public ListenableFuture<ListInstancesResponse> listInstances(ListInstancesRequest request)

List servers in a given project and location.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListInstancesRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListInstancesResponse>` |   |

### listLuns(ListLunsRequest request)

    public ListenableFuture<ListLunsResponse> listLuns(ListLunsRequest request)

List storage volume luns for given storage volume.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListLunsRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListLunsResponse>` |   |

### listNetworkUsage(ListNetworkUsageRequest request)

    public ListenableFuture<ListNetworkUsageResponse> listNetworkUsage(ListNetworkUsageRequest request)

List all Networks (and used IPs for each Network) in the vendor account
associated with the specified project.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListNetworkUsageRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListNetworkUsageResponse>` |   |

### listNetworks(ListNetworksRequest request)

    public ListenableFuture<ListNetworksResponse> listNetworks(ListNetworksRequest request)

List network in a given project and location.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListNetworksRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListNetworksResponse>` |   |

### listNfsShares(ListNfsSharesRequest request)

    public ListenableFuture<ListNfsSharesResponse> listNfsShares(ListNfsSharesRequest request)

List NFS shares.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListNfsSharesRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListNfsSharesResponse>` |   |

### listOSImages(ListOSImagesRequest request)

    public ListenableFuture<ListOSImagesResponse> listOSImages(ListOSImagesRequest request)

Retrieves the list of OS images which are currently approved.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListOSImagesRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListOSImagesResponse>` |   |

### listProvisioningQuotas(ListProvisioningQuotasRequest request)

    public ListenableFuture<ListProvisioningQuotasResponse> listProvisioningQuotas(ListProvisioningQuotasRequest request)

List the budget details to provision resources on a given project.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListProvisioningQuotasRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListProvisioningQuotasResponse>` |   |

### listSSHKeys(ListSSHKeysRequest request)

    public ListenableFuture<ListSSHKeysResponse> listSSHKeys(ListSSHKeysRequest request)

Lists the public SSH keys registered for the specified project.
These SSH keys are used only for the interactive serial console feature.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListSSHKeysRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListSSHKeysResponse>` |   |

### listVolumeSnapshots(ListVolumeSnapshotsRequest request)

    public ListenableFuture<ListVolumeSnapshotsResponse> listVolumeSnapshots(ListVolumeSnapshotsRequest request)

Retrieves the list of snapshots for the specified volume.
Returns a response with an empty list of snapshots if called
for a non-boot volume.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListVolumeSnapshotsRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListVolumeSnapshotsResponse>` |   |

### listVolumes(ListVolumesRequest request)

    public ListenableFuture<ListVolumesResponse> listVolumes(ListVolumesRequest request)

List storage volumes in a given project and location.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListVolumesRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ListVolumesResponse>` |   |

### renameInstance(RenameInstanceRequest request)

    public ListenableFuture<Instance> renameInstance(RenameInstanceRequest request)

RenameInstance sets a new name for an instance.
Use with caution, previous names become immediately invalidated.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.RenameInstanceRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.Instance>` |   |

### renameNetwork(RenameNetworkRequest request)

    public ListenableFuture<Network> renameNetwork(RenameNetworkRequest request)

RenameNetwork sets a new name for a network.
Use with caution, previous names become immediately invalidated.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.RenameNetworkRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.Network>` |   |

### renameNfsShare(RenameNfsShareRequest request)

    public ListenableFuture<NfsShare> renameNfsShare(RenameNfsShareRequest request)

RenameNfsShare sets a new name for an nfsshare.
Use with caution, previous names become immediately invalidated.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.RenameNfsShareRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.NfsShare>` |   |

### renameVolume(RenameVolumeRequest request)

    public ListenableFuture<Volume> renameVolume(RenameVolumeRequest request)

RenameVolume sets a new name for a volume.
Use with caution, previous names become immediately invalidated.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.RenameVolumeRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.Volume>` |   |

### resetInstance(ResetInstanceRequest request)

    public ListenableFuture<Operation> resetInstance(ResetInstanceRequest request)

Perform an ungraceful, hard reset on a server. Equivalent to shutting the
power off and then turning it back on.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ResetInstanceRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### resizeVolume(ResizeVolumeRequest request)

    public ListenableFuture<Operation> resizeVolume(ResizeVolumeRequest request)

Emergency Volume resize.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ResizeVolumeRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### restoreVolumeSnapshot(RestoreVolumeSnapshotRequest request)

    public ListenableFuture<Operation> restoreVolumeSnapshot(RestoreVolumeSnapshotRequest request)

Uses the specified snapshot to restore its parent volume.
Returns INVALID_ARGUMENT if called for a non-boot volume.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.RestoreVolumeSnapshotRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### startInstance(StartInstanceRequest request)

    public ListenableFuture<Operation> startInstance(StartInstanceRequest request)

Starts a server that was shutdown.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.StartInstanceRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### stopInstance(StopInstanceRequest request)

    public ListenableFuture<Operation> stopInstance(StopInstanceRequest request)

Stop a running server.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.StopInstanceRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### submitProvisioningConfig(SubmitProvisioningConfigRequest request)

    public ListenableFuture<SubmitProvisioningConfigResponse> submitProvisioningConfig(SubmitProvisioningConfigRequest request)

Submit a provisiong configuration for a given project.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.SubmitProvisioningConfigRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.SubmitProvisioningConfigResponse>` |   |

### updateInstance(UpdateInstanceRequest request)

    public ListenableFuture<Operation> updateInstance(UpdateInstanceRequest request)

Update details of a single server.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.UpdateInstanceRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### updateNetwork(UpdateNetworkRequest request)

    public ListenableFuture<Operation> updateNetwork(UpdateNetworkRequest request)

Update details of a single network.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.UpdateNetworkRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### updateNfsShare(UpdateNfsShareRequest request)

    public ListenableFuture<Operation> updateNfsShare(UpdateNfsShareRequest request)

Update details of a single NFS share.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.UpdateNfsShareRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |

### updateProvisioningConfig(UpdateProvisioningConfigRequest request)

    public ListenableFuture<ProvisioningConfig> updateProvisioningConfig(UpdateProvisioningConfigRequest request)

Update existing ProvisioningConfig.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.UpdateProvisioningConfigRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.ProvisioningConfig>` |   |

### updateVolume(UpdateVolumeRequest request)

    public ListenableFuture<Operation> updateVolume(UpdateVolumeRequest request)

Update details of a single storage volume.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `request` | `https://docs.cloud.google.com/java/docs/reference/google-cloud-bare-metal-solution/latest/com.google.cloud.baremetalsolution.v2.UpdateVolumeRequest` |

| **Returns** ||
|---|---|
| **Type** | **Description** |
| `com.google.common.util.concurrent.ListenableFuture<https://docs.cloud.google.com/java/docs/reference/gax/latest/com.google.longrunning.Operation.html>` |   |