ceph / ceph/go-ceph

[rgw] Why are some parameters unsupported ?

Open
#1,249 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
691
Forks
296
Avg merge
2d 16h
Merged PRs (30d)
11

Description

I found this comment `// valid parameters not supported by go-ceph: system, exclusive, placement-tags` in the Create user function and I was wondering if there is a specific reason why its not supported. is there an issue with just adding it to the struct and to the array in the function ?

``` golang
func (api *API) CreateUser(ctx context.Context, user User) (User, error) {
if user.ID == "" {
return User{}, errMissingUserID
}
if user.DisplayName == "" {
return User{}, errMissingUserDisplayName
}

// valid parameters not supported by go-ceph: system, exclusive, placement-tags
body, err := api.call(ctx, http.MethodPut, "/user", valueToURLParams(user, []string{"uid", "display-name", "default-placement", "email", "key-type", "access-key", "secret-key", "user-caps", "tenant", "generate-key", "max-buckets", "suspended", "op-mask", "account-id", "account-root"}))
if err != nil {
return User{}, err
}

// Unmarshal response into Go type
u := User{}
err = json.Unmarshal(body, &u)
if err != nil {
return User{}, fmt.Errorf("%s. %s. %w", unmarshalError, string(body), err)
}

return u, nil
}
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the CreateUser entry point and the User type shown in the issue, then inspect how valueToURLParams builds the request. Check Ceph RGW support for system, exclusive, and placement-tags before deciding whether they can be exposed. Done means the supported parameters are represented consistently and CreateUser sends them correctly, with relevant tests updated or added if present.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, backend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.