| 37 | } |
| 38 | |
| 39 | func (cmd *Login) MetaData() commandregistry.CommandMetadata { |
| 40 | fs := make(map[string]flags.FlagSet) |
| 41 | fs["a"] = &flags.StringFlag{ShortName: "a", Usage: T("API endpoint (e.g. https://api.example.com)")} |
| 42 | fs["u"] = &flags.StringFlag{ShortName: "u", Usage: T("Username")} |
| 43 | fs["p"] = &flags.StringFlag{ShortName: "p", Usage: T("Password")} |
| 44 | fs["o"] = &flags.StringFlag{ShortName: "o", Usage: T("Org")} |
| 45 | fs["s"] = &flags.StringFlag{ShortName: "s", Usage: T("Space")} |
| 46 | fs["sso"] = &flags.BoolFlag{Name: "sso", Usage: T("Prompt for a one-time passcode to login")} |
| 47 | fs["sso-passcode"] = &flags.StringFlag{Name: "sso-passcode", Usage: T("One-time passcode")} |
| 48 | fs["skip-ssl-validation"] = &flags.BoolFlag{Name: "skip-ssl-validation", Usage: T("Skip verification of the API endpoint. Not recommended!")} |
| 49 | |
| 50 | return commandregistry.CommandMetadata{ |
| 51 | Name: "login", |
| 52 | ShortName: "l", |
| 53 | Description: T("Log user in"), |
| 54 | Usage: []string{ |
| 55 | T("CF_NAME login [-a API_URL] [-u USERNAME] [-p PASSWORD] [-o ORG] [-s SPACE] [--sso | --sso-passcode PASSCODE]\n\n"), |
| 56 | terminal.WarningColor(T("WARNING:\n Providing your password as a command line option is highly discouraged\n Your password may be visible to others and may be recorded in your shell history")), |
| 57 | }, |
| 58 | Examples: []string{ |
| 59 | T("CF_NAME login (omit username and password to login interactively -- CF_NAME will prompt for both)"), |
| 60 | T("CF_NAME login -u name@example.com -p pa55woRD (specify username and password as arguments)"), |
| 61 | T("CF_NAME login -u name@example.com -p \"my password\" (use quotes for passwords with a space)"), |
| 62 | T("CF_NAME login -u name@example.com -p \"\\\"password\\\"\" (escape quotes if used in password)"), |
| 63 | T("CF_NAME login --sso (CF_NAME will provide a url to obtain a one-time passcode to login)"), |
| 64 | }, |
| 65 | Flags: fs, |
| 66 | } |
| 67 | } |
| 68 | |
| 69 | func (cmd *Login) Requirements(requirementsFactory requirements.Factory, fc flags.FlagContext) ([]requirements.Requirement, error) { |
| 70 | reqs := []requirements.Requirement{} |