forked from TrueCloudLab/frostfs-node
[#1971] cli: Unify CID and OID flags provision
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
parent
7daa57d4d2
commit
1f82c583e3
2 changed files with 23 additions and 11 deletions
|
@ -7,6 +7,8 @@ Changelog for NeoFS Node
|
||||||
- `morph list-containers` in `neofs-adm` (#1689)
|
- `morph list-containers` in `neofs-adm` (#1689)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
- `object lock` command reads CID and OID the same way other commands do (#1971)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- Open FSTree in sync mode by default (#1992)
|
- Open FSTree in sync mode by default (#1992)
|
||||||
- `neofs-cli container nodes`'s output (#1991)
|
- `neofs-cli container nodes`'s output (#1991)
|
||||||
|
@ -14,6 +16,7 @@ Changelog for NeoFS Node
|
||||||
### Removed
|
### Removed
|
||||||
### Updated
|
### Updated
|
||||||
### Updating from v0.34.0
|
### Updating from v0.34.0
|
||||||
|
Pass CID and OID parameters via the `--cid` and `--oid` flags, not as the command arguments.
|
||||||
|
|
||||||
## [0.34.0] - 2022-10-31 - Marado (마라도, 馬羅島)
|
## [0.34.0] - 2022-10-31 - Marado (마라도, 馬羅島)
|
||||||
|
|
||||||
|
|
|
@ -21,22 +21,22 @@ import (
|
||||||
|
|
||||||
// object lock command.
|
// object lock command.
|
||||||
var objectLockCmd = &cobra.Command{
|
var objectLockCmd = &cobra.Command{
|
||||||
Use: "lock CONTAINER OBJECT...",
|
Use: "lock",
|
||||||
Short: "Lock object in container",
|
Short: "Lock object in container",
|
||||||
Long: "Lock object in container",
|
Long: "Lock object in container",
|
||||||
Args: cobra.MinimumNArgs(2),
|
Run: func(cmd *cobra.Command, _ []string) {
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
cidRaw, _ := cmd.Flags().GetString("cid")
|
||||||
var cnr cid.ID
|
|
||||||
|
|
||||||
err := cnr.DecodeString(args[0])
|
var cnr cid.ID
|
||||||
|
err := cnr.DecodeString(cidRaw)
|
||||||
common.ExitOnErr(cmd, "Incorrect container arg: %v", err)
|
common.ExitOnErr(cmd, "Incorrect container arg: %v", err)
|
||||||
|
|
||||||
argsList := args[1:]
|
oidsRaw, _ := cmd.Flags().GetStringSlice("oid")
|
||||||
|
|
||||||
lockList := make([]oid.ID, len(argsList))
|
lockList := make([]oid.ID, len(oidsRaw))
|
||||||
|
|
||||||
for i := range argsList {
|
for i := range oidsRaw {
|
||||||
err = lockList[i].DecodeString(argsList[i])
|
err = lockList[i].DecodeString(oidsRaw[i])
|
||||||
common.ExitOnErr(cmd, fmt.Sprintf("Incorrect object arg #%d: %%v", i+1), err)
|
common.ExitOnErr(cmd, fmt.Sprintf("Incorrect object arg #%d: %%v", i+1), err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,7 +94,16 @@ func initCommandObjectLock() {
|
||||||
commonflags.Init(objectLockCmd)
|
commonflags.Init(objectLockCmd)
|
||||||
initFlagSession(objectLockCmd, "PUT")
|
initFlagSession(objectLockCmd, "PUT")
|
||||||
|
|
||||||
objectLockCmd.Flags().Uint64P(commonflags.ExpireAt, "e", 0, "Lock expiration epoch")
|
ff := objectLockCmd.Flags()
|
||||||
objectLockCmd.Flags().Uint64(commonflags.Lifetime, 0, "Lock lifetime")
|
|
||||||
|
ff.String("cid", "", "Container ID")
|
||||||
|
_ = objectLockCmd.MarkFlagRequired("cid")
|
||||||
|
|
||||||
|
ff.StringSlice("oid", nil, "Object ID")
|
||||||
|
_ = objectLockCmd.MarkFlagRequired("oid")
|
||||||
|
|
||||||
|
ff.Uint64P(commonflags.ExpireAt, "e", 0, "Lock expiration epoch")
|
||||||
|
|
||||||
|
ff.Uint64(commonflags.Lifetime, 0, "Lock lifetime")
|
||||||
objectLockCmd.MarkFlagsMutuallyExclusive(commonflags.ExpireAt, commonflags.Lifetime)
|
objectLockCmd.MarkFlagsMutuallyExclusive(commonflags.ExpireAt, commonflags.Lifetime)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue