mirror of
https://github.com/rclone/rclone.git
synced 2024-11-25 09:41:44 +08:00
config create: add --state and --result parameters #3455
This commit is contained in:
parent
296ceadda6
commit
635d1e10ae
|
@ -159,12 +159,12 @@ This will look something like (some irrelevant detail removed):
|
|||
|
||||
The format of |Option| is the same as returned by |rclone config
|
||||
providers|. The question should be asked to the user and returned to
|
||||
rclone as a string parameter along with the state parameter.
|
||||
rclone as the |--result| option along with the |--state| parameter.
|
||||
|
||||
If |Error| is set then it should be shown to the user at the same
|
||||
time as the question.
|
||||
|
||||
rclone config update name --continue state "*oauth-islocal,teamdrive,," result "true"
|
||||
rclone config update name --continue --state "*oauth-islocal,teamdrive,," --result "true"
|
||||
|
||||
Note that when using |--continue| all passwords should be passed in
|
||||
the clear (not obscured). Any default config values should be passed
|
||||
|
@ -235,6 +235,8 @@ func init() {
|
|||
flags.BoolVarP(cmdFlags, &updateRemoteOpt.NonInteractive, "non-interactive", "", false, "Don't interact with user and return questions.")
|
||||
flags.BoolVarP(cmdFlags, &updateRemoteOpt.Continue, "continue", "", false, "Continue the configuration process with an answer.")
|
||||
flags.BoolVarP(cmdFlags, &updateRemoteOpt.All, "all", "", false, "Ask the full set of config questions.")
|
||||
flags.StringVarP(cmdFlags, &updateRemoteOpt.State, "state", "", "", "State - use with --continue.")
|
||||
flags.StringVarP(cmdFlags, &updateRemoteOpt.Result, "result", "", "", "Result - use with --continue.")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -421,6 +421,10 @@ type UpdateRemoteOpt struct {
|
|||
Continue bool `json:"continue"`
|
||||
// If set then ask all the questions, not just the post config questions
|
||||
All bool `json:"all"`
|
||||
// State to restart with - used with Continue
|
||||
State string `json:"state"`
|
||||
// Result to return - used with Continue
|
||||
Result string `json:"result"`
|
||||
}
|
||||
|
||||
// UpdateRemote adds the keyValues passed in to the remote of name.
|
||||
|
@ -490,18 +494,9 @@ func UpdateRemote(ctx context.Context, name string, keyValues rc.Params, opt Upd
|
|||
err = backendConfig(ctx, name, m, ri, choices, state)
|
||||
} else {
|
||||
// Start the config state machine
|
||||
in := fs.ConfigIn{}
|
||||
if opt.Continue {
|
||||
if state, ok := keyValues["state"]; ok {
|
||||
in.State = fmt.Sprint(state)
|
||||
} else {
|
||||
return nil, errors.New("UpdateRemote: need state parameter with --continue")
|
||||
}
|
||||
if result, ok := keyValues["result"]; ok {
|
||||
in.Result = fmt.Sprint(result)
|
||||
} else {
|
||||
return nil, errors.New("UpdateRemote: need result parameter with --continue")
|
||||
}
|
||||
in := fs.ConfigIn{
|
||||
State: opt.State,
|
||||
Result: opt.Result,
|
||||
}
|
||||
if in.State == "" && opt.All {
|
||||
in.State = fs.ConfigAll
|
||||
|
|
|
@ -119,6 +119,8 @@ func init() {
|
|||
- nonInteractive - don't interact with a user, return questions
|
||||
- continue - continue the config process with an answer
|
||||
- all - ask all the config questions not just the post config ones
|
||||
- state - state to restart with - used with continue
|
||||
- result - result to restart with - used with continue
|
||||
`
|
||||
}
|
||||
rc.Add(rc.Call{
|
||||
|
|
Loading…
Reference in New Issue
Block a user