mirror of
https://github.com/rclone/rclone.git
synced 2024-11-29 03:48:27 +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
|
The format of |Option| is the same as returned by |rclone config
|
||||||
providers|. The question should be asked to the user and returned to
|
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
|
If |Error| is set then it should be shown to the user at the same
|
||||||
time as the question.
|
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
|
Note that when using |--continue| all passwords should be passed in
|
||||||
the clear (not obscured). Any default config values should be passed
|
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.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.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.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"`
|
Continue bool `json:"continue"`
|
||||||
// If set then ask all the questions, not just the post config questions
|
// If set then ask all the questions, not just the post config questions
|
||||||
All bool `json:"all"`
|
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.
|
// 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)
|
err = backendConfig(ctx, name, m, ri, choices, state)
|
||||||
} else {
|
} else {
|
||||||
// Start the config state machine
|
// Start the config state machine
|
||||||
in := fs.ConfigIn{}
|
in := fs.ConfigIn{
|
||||||
if opt.Continue {
|
State: opt.State,
|
||||||
if state, ok := keyValues["state"]; ok {
|
Result: opt.Result,
|
||||||
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")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if in.State == "" && opt.All {
|
if in.State == "" && opt.All {
|
||||||
in.State = fs.ConfigAll
|
in.State = fs.ConfigAll
|
||||||
|
|
|
@ -119,6 +119,8 @@ func init() {
|
||||||
- nonInteractive - don't interact with a user, return questions
|
- nonInteractive - don't interact with a user, return questions
|
||||||
- continue - continue the config process with an answer
|
- continue - continue the config process with an answer
|
||||||
- all - ask all the config questions not just the post config ones
|
- 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{
|
rc.Add(rc.Call{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user