Skip to content

Commit 4ad1b67

Browse files
Google APIscopybara-github
authored andcommitted
feat: add ScaleType for Storage Pools and LargeCapacityConfig for Volumes
docs: A comment for field `large_capacity` in message `.google.cloud.netapp.v1.Volume` is changed PiperOrigin-RevId: 902801207
1 parent 4ae5f10 commit 4ad1b67

5 files changed

Lines changed: 40 additions & 5 deletions

File tree

‎google/cloud/netapp/v1/BUILD.bazel‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,6 @@ load(
356356

357357
csharp_proto_library(
358358
name = "netapp_csharp_proto",
359-
extra_opts = [],
360359
deps = [":netapp_proto"],
361360
)
362361

‎google/cloud/netapp/v1/common.proto‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,20 @@ enum StoragePoolType {
8989
UNIFIED = 2;
9090
}
9191

92+
// Defines the scale-type of a UNIFIED Storage Pool.
93+
enum ScaleType {
94+
// Unspecified scale type.
95+
SCALE_TYPE_UNSPECIFIED = 0;
96+
97+
// Represents standard capacity and performance scale-type.
98+
// Suitable for general purpose workloads.
99+
SCALE_TYPE_DEFAULT = 1;
100+
101+
// Represents higher capacity and performance scale-type.
102+
// Suitable for more demanding workloads.
103+
SCALE_TYPE_SCALEOUT = 2;
104+
}
105+
92106
// Schedule for Hybrid Replication.
93107
// New enum values may be added in future to support different frequency of
94108
// replication.

‎google/cloud/netapp/v1/netapp_v1.yaml‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,8 @@ documentation:
2626
Lists information about the supported locations for this service.
2727
2828
This method lists locations based on the resource scope provided in
29-
the [ListLocationsRequest.name] field:
30-
31-
* **Global locations**: If `name` is empty, the method lists the
29+
the [ListLocationsRequest.name][google.cloud.location.ListLocationsRequest.name] field: *
30+
**Global locations**: If `name` is empty, the method lists the
3231
public locations available to all projects. * **Project-specific
3332
locations**: If `name` follows the format
3433
`projects/{project}`, the method lists locations visible to that

‎google/cloud/netapp/v1/storage_pool.proto‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,10 @@ message StoragePool {
323323
// GCNV ONTAP Mode APIs. If not specified during creation, it defaults to
324324
// `DEFAULT`.
325325
optional Mode mode = 36 [(google.api.field_behavior) = OPTIONAL];
326+
327+
// Optional. The scale type of the storage pool. Defaults to
328+
// `SCALE_TYPE_DEFAULT` if not specified.
329+
ScaleType scale_type = 38 [(google.api.field_behavior) = OPTIONAL];
326330
}
327331

328332
// ValidateDirectoryServiceRequest validates the directory service policy

‎google/cloud/netapp/v1/volume.proto‎

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,9 @@ message Volume {
423423
[(google.api.field_behavior) = OPTIONAL];
424424

425425
// Optional. Flag indicating if the volume will be a large capacity volume or
426-
// a regular volume.
426+
// a regular volume. This field is used for legacy FILE pools. For Unified
427+
// pools, use the `large_capacity_config` field instead. This field and
428+
// `large_capacity_config` are mutually exclusive.
427429
bool large_capacity = 32 [(google.api.field_behavior) = OPTIONAL];
428430

429431
// Optional. Flag indicating if the volume will have an IP address per node
@@ -464,11 +466,28 @@ message Volume {
464466
repeated BlockDevice block_devices = 45
465467
[(google.api.field_behavior) = OPTIONAL];
466468

469+
// Optional. Large capacity config for the volume.
470+
// Enables and configures large capacity for volumes in Unified pools with
471+
// File protocols. Not applicable for Block protocols in Unified pools.
472+
// This field and the legacy `large_capacity` boolean field
473+
// are mutually exclusive.
474+
LargeCapacityConfig large_capacity_config = 46
475+
[(google.api.field_behavior) = OPTIONAL];
476+
467477
// Output only. If this volume is a clone, this field contains details about
468478
// the clone.
469479
CloneDetails clone_details = 47 [(google.api.field_behavior) = OUTPUT_ONLY];
470480
}
471481

482+
// Configuration for a Large Capacity Volume. A Large Capacity Volume
483+
// supports sizes ranging from 4.8 TiB to 20 PiB, it is composed of multiple
484+
// internal constituents, and must be created in a large capacity pool.
485+
message LargeCapacityConfig {
486+
// Optional. The number of internal constituents (e.g., FlexVols) for this
487+
// large volume. The minimum number of constituents is 2.
488+
int32 constituent_count = 1 [(google.api.field_behavior) = OPTIONAL];
489+
}
490+
472491
// Defines the export policy for the volume.
473492
message ExportPolicy {
474493
// Required. List of export policy rules

0 commit comments

Comments
 (0)