/*
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/cloud/baremetalsolution/v2/volume.proto
// Protobuf Java Version: 3.25.3
package com.google.cloud.baremetalsolution.v2;
public interface VolumeOrBuilder
extends
// @@protoc_insertion_point(interface_extends:google.cloud.baremetalsolution.v2.Volume)
com.google.protobuf.MessageOrBuilder {
/**
*
*
*
* Output only. The resource name of this `Volume`.
* Resource names are schemeless URIs that follow the conventions in
* https://cloud.google.com/apis/design/resource_names.
* Format:
* `projects/{project}/locations/{location}/volumes/{volume}`
*
*
* string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
* @return The name.
*/
java.lang.String getName();
/**
*
*
*
* Output only. The resource name of this `Volume`.
* Resource names are schemeless URIs that follow the conventions in
* https://cloud.google.com/apis/design/resource_names.
* Format:
* `projects/{project}/locations/{location}/volumes/{volume}`
*
*
* string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
* @return The bytes for name.
*/
com.google.protobuf.ByteString getNameBytes();
/**
*
*
*
* An identifier for the `Volume`, generated by the backend.
*
*
* string id = 11;
*
* @return The id.
*/
java.lang.String getId();
/**
*
*
*
* An identifier for the `Volume`, generated by the backend.
*
*
* string id = 11;
*
* @return The bytes for id.
*/
com.google.protobuf.ByteString getIdBytes();
/**
*
*
*
* The storage type for this volume.
*
*
* .google.cloud.baremetalsolution.v2.Volume.StorageType storage_type = 2;
*
* @return The enum numeric value on the wire for storageType.
*/
int getStorageTypeValue();
/**
*
*
*
* The storage type for this volume.
*
*
* .google.cloud.baremetalsolution.v2.Volume.StorageType storage_type = 2;
*
* @return The storageType.
*/
com.google.cloud.baremetalsolution.v2.Volume.StorageType getStorageType();
/**
*
*
*
* The state of this storage volume.
*
*
* .google.cloud.baremetalsolution.v2.Volume.State state = 3;
*
* @return The enum numeric value on the wire for state.
*/
int getStateValue();
/**
*
*
*
* The state of this storage volume.
*
*
* .google.cloud.baremetalsolution.v2.Volume.State state = 3;
*
* @return The state.
*/
com.google.cloud.baremetalsolution.v2.Volume.State getState();
/**
*
*
*
* The requested size of this storage volume, in GiB.
*
*
* int64 requested_size_gib = 4;
*
* @return The requestedSizeGib.
*/
long getRequestedSizeGib();
/**
*
*
*
* Originally requested size, in GiB.
*
*
* int64 originally_requested_size_gib = 16;
*
* @return The originallyRequestedSizeGib.
*/
long getOriginallyRequestedSizeGib();
/**
*
*
*
* The current size of this storage volume, in GiB, including space reserved
* for snapshots. This size might be different than the requested size if the
* storage volume has been configured with auto grow or auto shrink.
*
*
* int64 current_size_gib = 5;
*
* @return The currentSizeGib.
*/
long getCurrentSizeGib();
/**
*
*
*
* Additional emergency size that was requested for this Volume, in GiB.
* current_size_gib includes this value.
*
*
* int64 emergency_size_gib = 14;
*
* @return The emergencySizeGib.
*/
long getEmergencySizeGib();
/**
*
*
*
* Maximum size volume can be expanded to in case of evergency, in GiB.
*
*
* int64 max_size_gib = 17;
*
* @return The maxSizeGib.
*/
long getMaxSizeGib();
/**
*
*
*
* The size, in GiB, that this storage volume has expanded as a result of an
* auto grow policy. In the absence of auto-grow, the value is 0.
*
*
* int64 auto_grown_size_gib = 6;
*
* @return The autoGrownSizeGib.
*/
long getAutoGrownSizeGib();
/**
*
*
*
* The space remaining in the storage volume for new LUNs, in GiB, excluding
* space reserved for snapshots.
*
*
* int64 remaining_space_gib = 7;
*
* @return The remainingSpaceGib.
*/
long getRemainingSpaceGib();
/**
*
*
*
* Details about snapshot space reservation and usage on the storage volume.
*
*
*
* .google.cloud.baremetalsolution.v2.Volume.SnapshotReservationDetail snapshot_reservation_detail = 8;
*
*
* @return Whether the snapshotReservationDetail field is set.
*/
boolean hasSnapshotReservationDetail();
/**
*
*
*
* Details about snapshot space reservation and usage on the storage volume.
*
*
*
* .google.cloud.baremetalsolution.v2.Volume.SnapshotReservationDetail snapshot_reservation_detail = 8;
*
*
* @return The snapshotReservationDetail.
*/
com.google.cloud.baremetalsolution.v2.Volume.SnapshotReservationDetail
getSnapshotReservationDetail();
/**
*
*
*
* Details about snapshot space reservation and usage on the storage volume.
*
*
*
* .google.cloud.baremetalsolution.v2.Volume.SnapshotReservationDetail snapshot_reservation_detail = 8;
*
*/
com.google.cloud.baremetalsolution.v2.Volume.SnapshotReservationDetailOrBuilder
getSnapshotReservationDetailOrBuilder();
/**
*
*
*
* The behavior to use when snapshot reserved space is full.
*
*
*
* .google.cloud.baremetalsolution.v2.Volume.SnapshotAutoDeleteBehavior snapshot_auto_delete_behavior = 9;
*
*
* @return The enum numeric value on the wire for snapshotAutoDeleteBehavior.
*/
int getSnapshotAutoDeleteBehaviorValue();
/**
*
*
*
* The behavior to use when snapshot reserved space is full.
*
*
*
* .google.cloud.baremetalsolution.v2.Volume.SnapshotAutoDeleteBehavior snapshot_auto_delete_behavior = 9;
*
*
* @return The snapshotAutoDeleteBehavior.
*/
com.google.cloud.baremetalsolution.v2.Volume.SnapshotAutoDeleteBehavior
getSnapshotAutoDeleteBehavior();
/**
*
*
*
* Labels as key value pairs.
*
*
* map<string, string> labels = 12;
*/
int getLabelsCount();
/**
*
*
*
* Labels as key value pairs.
*
*
* map<string, string> labels = 12;
*/
boolean containsLabels(java.lang.String key);
/** Use {@link #getLabelsMap()} instead. */
@java.lang.Deprecated
java.util.Map getLabels();
/**
*
*
*
* Labels as key value pairs.
*
*
* map<string, string> labels = 12;
*/
java.util.Map getLabelsMap();
/**
*
*
*
* Labels as key value pairs.
*
*
* map<string, string> labels = 12;
*/
/* nullable */
java.lang.String getLabelsOrDefault(
java.lang.String key,
/* nullable */
java.lang.String defaultValue);
/**
*
*
*
* Labels as key value pairs.
*
*
* map<string, string> labels = 12;
*/
java.lang.String getLabelsOrThrow(java.lang.String key);
/**
*
*
*
* Whether snapshots are enabled.
*
*
* bool snapshot_enabled = 13;
*
* @return The snapshotEnabled.
*/
boolean getSnapshotEnabled();
/**
*
*
*
* Immutable. Pod name.
*
*
* string pod = 15 [(.google.api.field_behavior) = IMMUTABLE];
*
* @return The pod.
*/
java.lang.String getPod();
/**
*
*
*
* Immutable. Pod name.
*
*
* string pod = 15 [(.google.api.field_behavior) = IMMUTABLE];
*
* @return The bytes for pod.
*/
com.google.protobuf.ByteString getPodBytes();
/**
*
*
*
* Output only. Storage protocol for the Volume.
*
*
*
* .google.cloud.baremetalsolution.v2.Volume.Protocol protocol = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*
* @return The enum numeric value on the wire for protocol.
*/
int getProtocolValue();
/**
*
*
*
* Output only. Storage protocol for the Volume.
*
*
*
* .google.cloud.baremetalsolution.v2.Volume.Protocol protocol = 18 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*
* @return The protocol.
*/
com.google.cloud.baremetalsolution.v2.Volume.Protocol getProtocol();
/**
*
*
*
* Output only. Whether this volume is a boot volume. A boot volume is one
* which contains a boot LUN.
*
*
* bool boot_volume = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
* @return The bootVolume.
*/
boolean getBootVolume();
/**
*
*
*
* Immutable. Performance tier of the Volume.
* Default is SHARED.
*
*
*
* .google.cloud.baremetalsolution.v2.VolumePerformanceTier performance_tier = 20 [(.google.api.field_behavior) = IMMUTABLE];
*
*
* @return The enum numeric value on the wire for performanceTier.
*/
int getPerformanceTierValue();
/**
*
*
*
* Immutable. Performance tier of the Volume.
* Default is SHARED.
*
*
*
* .google.cloud.baremetalsolution.v2.VolumePerformanceTier performance_tier = 20 [(.google.api.field_behavior) = IMMUTABLE];
*
*
* @return The performanceTier.
*/
com.google.cloud.baremetalsolution.v2.VolumePerformanceTier getPerformanceTier();
/**
*
*
*
* Input only. User-specified notes for new Volume.
* Used to provision Volumes that require manual intervention.
*
*
* string notes = 21 [(.google.api.field_behavior) = INPUT_ONLY];
*
* @return The notes.
*/
java.lang.String getNotes();
/**
*
*
*
* Input only. User-specified notes for new Volume.
* Used to provision Volumes that require manual intervention.
*
*
* string notes = 21 [(.google.api.field_behavior) = INPUT_ONLY];
*
* @return The bytes for notes.
*/
com.google.protobuf.ByteString getNotesBytes();
/**
*
*
*
* The workload profile for the volume.
*
*
* .google.cloud.baremetalsolution.v2.Volume.WorkloadProfile workload_profile = 22;
*
* @return The enum numeric value on the wire for workloadProfile.
*/
int getWorkloadProfileValue();
/**
*
*
*
* The workload profile for the volume.
*
*
* .google.cloud.baremetalsolution.v2.Volume.WorkloadProfile workload_profile = 22;
*
* @return The workloadProfile.
*/
com.google.cloud.baremetalsolution.v2.Volume.WorkloadProfile getWorkloadProfile();
/**
*
*
*
* Output only. Time after which volume will be fully deleted.
* It is filled only for volumes in COOLOFF state.
*
*
* .google.protobuf.Timestamp expire_time = 24 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*
* @return Whether the expireTime field is set.
*/
boolean hasExpireTime();
/**
*
*
*
* Output only. Time after which volume will be fully deleted.
* It is filled only for volumes in COOLOFF state.
*
*
* .google.protobuf.Timestamp expire_time = 24 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*
* @return The expireTime.
*/
com.google.protobuf.Timestamp getExpireTime();
/**
*
*
*
* Output only. Time after which volume will be fully deleted.
* It is filled only for volumes in COOLOFF state.
*
*
* .google.protobuf.Timestamp expire_time = 24 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
*/
com.google.protobuf.TimestampOrBuilder getExpireTimeOrBuilder();
/**
*
*
*
* Output only. Instances this Volume is attached to.
* This field is set only in Get requests.
*
*
*
* repeated string instances = 25 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
*
*
* @return A list containing the instances.
*/
java.util.List getInstancesList();
/**
*
*
*
* Output only. Instances this Volume is attached to.
* This field is set only in Get requests.
*
*
*
* repeated string instances = 25 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
*
*
* @return The count of instances.
*/
int getInstancesCount();
/**
*
*
*
* Output only. Instances this Volume is attached to.
* This field is set only in Get requests.
*
*
*
* repeated string instances = 25 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
*
*
* @param index The index of the element to return.
* @return The instances at the given index.
*/
java.lang.String getInstances(int index);
/**
*
*
*
* Output only. Instances this Volume is attached to.
* This field is set only in Get requests.
*
*
*
* repeated string instances = 25 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { ... }
*
*
* @param index The index of the value to return.
* @return The bytes of the instances at the given index.
*/
com.google.protobuf.ByteString getInstancesBytes(int index);
/**
*
*
*
* Output only. Is the Volume attached at at least one instance.
* This field is a lightweight counterpart of `instances` field.
* It is filled in List responses as well.
*
*
* bool attached = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
*
* @return The attached.
*/
boolean getAttached();
}