feat: Update NetApp v1 API with Host Groups, Block Volumes, Cache Vol… · googleapis/googleapis@94aa4f5
1-// Copyright 2025 Google LLC
1+// Copyright 2026 Google LLC
22//
33// Licensed under the Apache License, Version 2.0 (the "License");
44// you may not use this file except in compliance with the License.
@@ -24,6 +24,7 @@ import "google/cloud/netapp/v1/active_directory.proto";
2424import "google/cloud/netapp/v1/backup.proto";
2525import "google/cloud/netapp/v1/backup_policy.proto";
2626import "google/cloud/netapp/v1/backup_vault.proto";
27+import "google/cloud/netapp/v1/host_group.proto";
2728import "google/cloud/netapp/v1/kms.proto";
2829import "google/cloud/netapp/v1/quota_rule.proto";
2930import "google/cloud/netapp/v1/replication.proto";
@@ -760,6 +761,77 @@ service NetApp {
760761metadata_type: "OperationMetadata"
761762 };
762763 }
764+765+// Restore files from a backup to a volume.
766+rpc RestoreBackupFiles(RestoreBackupFilesRequest)
767+returns (google.longrunning.Operation) {
768+option (google.api.http) = {
769+post: "/v1/{name=projects/*/locations/*/volumes/*}:restore"
770+body: "*"
771+ };
772+option (google.longrunning.operation_info) = {
773+response_type: "RestoreBackupFilesResponse"
774+metadata_type: "OperationMetadata"
775+ };
776+ }
777+778+// Returns a list of host groups in a `location`. Use `-` as location to list
779+// host groups across all locations.
780+rpc ListHostGroups(ListHostGroupsRequest) returns (ListHostGroupsResponse) {
781+option (google.api.http) = {
782+get: "/v1/{parent=projects/*/locations/*}/hostGroups"
783+ };
784+option (google.api.method_signature) = "parent";
785+ }
786+787+// Returns details of the specified host group.
788+rpc GetHostGroup(GetHostGroupRequest) returns (HostGroup) {
789+option (google.api.http) = {
790+get: "/v1/{name=projects/*/locations/*/hostGroups/*}"
791+ };
792+option (google.api.method_signature) = "name";
793+ }
794+795+// Creates a new host group.
796+rpc CreateHostGroup(CreateHostGroupRequest)
797+returns (google.longrunning.Operation) {
798+option (google.api.http) = {
799+post: "/v1/{parent=projects/*/locations/*}/hostGroups"
800+body: "host_group"
801+ };
802+option (google.api.method_signature) = "parent,host_group,host_group_id";
803+option (google.longrunning.operation_info) = {
804+response_type: "HostGroup"
805+metadata_type: "OperationMetadata"
806+ };
807+ }
808+809+// Updates an existing host group.
810+rpc UpdateHostGroup(UpdateHostGroupRequest)
811+returns (google.longrunning.Operation) {
812+option (google.api.http) = {
813+patch: "/v1/{host_group.name=projects/*/locations/*/hostGroups/*}"
814+body: "host_group"
815+ };
816+option (google.api.method_signature) = "host_group,update_mask";
817+option (google.longrunning.operation_info) = {
818+response_type: "HostGroup"
819+metadata_type: "OperationMetadata"
820+ };
821+ }
822+823+// Deletes a host group.
824+rpc DeleteHostGroup(DeleteHostGroupRequest)
825+returns (google.longrunning.Operation) {
826+option (google.api.http) = {
827+delete: "/v1/{name=projects/*/locations/*/hostGroups/*}"
828+ };
829+option (google.api.method_signature) = "name";
830+option (google.longrunning.operation_info) = {
831+response_type: "google.protobuf.Empty"
832+metadata_type: "OperationMetadata"
833+ };
834+ }
763835}
764836765837// Represents the metadata of the long-running operation.