code: func NewCmdTokenGenerate(out io.Writer) *cobra.Command {
  	return &cobra.Command{
  		Use:   "generate",
  		Short: "Generate and print a bootstrap token, but do not create it on the server",
  		Long: dedent.Dedent(`
  			This command will print out a randomly-generated bootstrap token that can be used with
  			the "init" and "join" commands.
  
  			You don't have to use this command in order to generate a token. You can do so
  			yourself as long as it is in the format "[a-z0-9]{6}.[a-z0-9]{16}". This
  			command is provided for convenience to generate tokens in the given format.
  
  			You can also use "kubeadm init" without specifying a token and it will
  			generate and print one for you.
  		`),
  		Run: func(cmd *cobra.Command, args []string) {
  			err := RunGenerateToken(out)
  			kubeadmutil.CheckErr(err)
  		},
  	}
  }
docs: // NewCmdTokenGenerate returns cobra.Command to generate new token