Skip to content

Commit e676653

Browse files
committed
aded ListNfs4DelegsWithContext and RemoveNfs4DelegWithContext methods for Tenant resource
1 parent e937120 commit e676653

File tree

2 files changed

+45
-1
lines changed

2 files changed

+45
-1
lines changed

vast_resource.go

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,50 @@ func (t *Tenant) UpdateClientMetrics(tenantId any, params Params) (Record, error
518518
return t.UpdateClientMetricsWithContext(t.rest.ctx, tenantId, params)
519519
}
520520

521+
// ListNfs4DelegsWithContext queries the list of NFSv4 delegations for a specific tenant using the provided context.
522+
// This method calls the GET /tenants/{id}/nfs4_delegs/ endpoint.
523+
//
524+
// Parameters:
525+
// - ctx: context for the request
526+
// - tenantId: the ID of the tenant to query NFSv4 delegations for
527+
// - params: query parameters (file_path required, xeystore_pagination_next_client_id optional)
528+
//
529+
// Returns:
530+
// - Record: the NFSv4 delegations list response
531+
// - error: if the request fails
532+
func (t *Tenant) ListNfs4DelegsWithContext(ctx context.Context, tenantId any, params Params) (Record, error) {
533+
path := buildResourcePathWithID(t.resourcePath, tenantId, "nfs4_delegs")
534+
return request[Record](ctx, t, http.MethodGet, path, t.apiVersion, params, nil)
535+
}
536+
537+
// ListNfs4Delegs queries the list of NFSv4 delegations for a specific tenant.
538+
// This is a convenience method that uses the resource's default context.
539+
func (t *Tenant) ListNfs4Delegs(tenantId any, params Params) (Record, error) {
540+
return t.ListNfs4DelegsWithContext(t.rest.ctx, tenantId, params)
541+
}
542+
543+
// RemoveNfs4DelegWithContext removes an NFSv4 delegation for a specific tenant using the provided context.
544+
// This method calls the DELETE /tenants/{id}/nfs4_deleg/ endpoint.
545+
//
546+
// Parameters:
547+
// - ctx: context for the request
548+
// - tenantId: the ID of the tenant to remove NFSv4 delegation from
549+
// - params: query parameters (file_path, client_id, delegation_stateid all required)
550+
//
551+
// Returns:
552+
// - EmptyRecord: empty response for successful 204 No Content
553+
// - error: if the request fails
554+
func (t *Tenant) RemoveNfs4DelegWithContext(ctx context.Context, tenantId any, params Params) (EmptyRecord, error) {
555+
path := buildResourcePathWithID(t.resourcePath, tenantId, "nfs4_deleg")
556+
return request[EmptyRecord](ctx, t, http.MethodDelete, path, t.apiVersion, params, nil)
557+
}
558+
559+
// RemoveNfs4Deleg removes an NFSv4 delegation for a specific tenant.
560+
// This is a convenience method that uses the resource's default context.
561+
func (t *Tenant) RemoveNfs4Deleg(tenantId any, params Params) (EmptyRecord, error) {
562+
return t.RemoveNfs4DelegWithContext(t.rest.ctx, tenantId, params)
563+
}
564+
521565
// ------------------------------------------------------
522566

523567
type Ldap struct {

version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.52.0
1+
0.53.0

0 commit comments

Comments
 (0)