in cli/options.go [63:100]
func parseOptions(args argumentList) (*cliOpts, error) {
opts := &cliOpts{}
ArgsLoop:
for len(args) > 0 {
switch arg := args.Next(); arg {
case "-f":
opts.forceRefresh = true
case "--force-refresh":
opts.forceRefresh = true
case "--role":
opts.role = args.Next()
case "--role-session-name":
opts.roleSessionName = args.Next()
case "--":
// Stop parsing and add remaining args to opts.args
opts.args = append(opts.args, args...)
break ArgsLoop
default:
// Stop parsing and add this arg + remaining args to opts.args
opts.args = append(opts.args, arg)
opts.args = append(opts.args, args...)
break ArgsLoop
}
}
if opts.role == "" {
return opts, errNoRole
}
return opts, nil
}