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";

2424

import "google/cloud/netapp/v1/backup.proto";

2525

import "google/cloud/netapp/v1/backup_policy.proto";

2626

import "google/cloud/netapp/v1/backup_vault.proto";

27+

import "google/cloud/netapp/v1/host_group.proto";

2728

import "google/cloud/netapp/v1/kms.proto";

2829

import "google/cloud/netapp/v1/quota_rule.proto";

2930

import "google/cloud/netapp/v1/replication.proto";

@@ -760,6 +761,77 @@ service NetApp {

760761

metadata_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.