Documentation
¶
Overview ¶
Package options implements command-line options that are used by all of the mongo tools.
Index ¶
Constants ¶
const (
VersionStr = "3.3.1-pre-"
)
Variables ¶
var ConnectionOptFunctions []OptionRegistrationFunction
var (
Gitspec = "not-built-with-ldflags"
)
Gitspec that the tool was built with. Needs to be set using -ldflags
Functions ¶
This section is empty.
Types ¶
type Auth ¶
type Auth struct {
Username string `short:"u" value-name:"<username>" long:"username" description:"username for authentication"`
Password string `short:"p" value-name:"<password>" long:"password" description:"password for authentication"`
Source string `long:"authenticationDatabase" value-name:"<database-name>" description:"database that holds the user's credentials"`
Mechanism string `long:"authenticationMechanism" value-name:"<mechanism>" description:"authentication mechanism to use"`
}
Struct holding auth-related options
func (*Auth) RequiresExternalDB ¶
func (*Auth) ShouldAskForPassword ¶
ShouldAskForPassword returns true if the user specifies a username flag but no password, and the authentication mechanism requires a password.
type Connection ¶
type Connection struct {
Host string `short:"h" long:"host" value-name:"<hostname>" description:"mongodb host to connect to (setname/host1,host2 for replica sets)"`
Port string `long:"port" value-name:"<port>" description:"server port (can also use --host hostname:port)"`
}
Struct holding connection-related options
type EnabledOptions ¶
type ExtraOptions ¶
type ExtraOptions interface {
// Name specifying what type of options these are
Name() string
}
Interface for extra options that need to be used by specific tools
type General ¶
type General struct {
Help bool `long:"help" description:"print usage"`
Version bool `long:"version" description:"print the tool version and exit"`
}
Struct holding generic options
type HiddenOptions ¶
type Kerberos ¶
type Kerberos struct {
Service string `` /* 151-byte string literal not displayed */
ServiceHost string `` /* 155-byte string literal not displayed */
}
Struct for Kerberos/GSSAPI-specific options
type OptionRegistrationFunction ¶
type OptionRegistrationFunction func(o *ToolOptions) error
type SSL ¶
type SSL struct {
UseSSL bool `long:"ssl" description:"connect to a mongod or mongos that has ssl enabled"`
SSLCAFile string `` /* 137-byte string literal not displayed */
SSLPEMKeyFile string `long:"sslPEMKeyFile" value-name:"<filename>" description:"the .pem file containing the certificate and key"`
SSLPEMKeyPassword string `long:"sslPEMKeyPassword" value-name:"<password>" description:"the password to decrypt the sslPEMKeyFile, if necessary"`
SSLCRLFile string `long:"sslCRLFile" value-name:"<filename>" description:"the .pem file containing the certificate revocation list"`
SSLAllowInvalidCert bool `long:"sslAllowInvalidCertificates" description:"bypass the validation for server certificates"`
SSLAllowInvalidHost bool `long:"sslAllowInvalidHostnames" description:"bypass the validation for server name"`
SSLFipsMode bool `long:"sslFIPSMode" description:"use FIPS mode of the installed openssl library"`
}
Struct holding ssl-related options
type ToolOptions ¶
type ToolOptions struct {
// The name of the tool
AppName string
// The version of the tool
VersionStr string
// Sub-option types
*General
*Verbosity
*Connection
*SSL
*Auth
*Kerberos
*Namespace
*HiddenOptions
// Force direct connection to the server and disable the
// drivers automatic repl set discovery logic.
Direct bool
// ReplicaSetName, if specified, will prevent the obtained session from
// communicating with any server which is not part of a replica set
// with the given name. The default is to communicate with any server
// specified or discovered via the servers contacted.
ReplicaSetName string
// contains filtered or unexported fields
}
Struct encompassing all of the options that are reused across tools: "help", "version", verbosity settings, ssl settings, etc.
func New ¶
func New(appName, usageStr string, enabled EnabledOptions) *ToolOptions
Ask for a new instance of tool options
func (*ToolOptions) AddOptions ¶
func (o *ToolOptions) AddOptions(opts ExtraOptions)
AddOptions registers an additional options group to this instance
func (*ToolOptions) GetAuthenticationDatabase ¶
func (o *ToolOptions) GetAuthenticationDatabase() string
Get the authentication database to use. Should be the value of --authenticationDatabase if it's provided, otherwise, the database that's specified in the tool's --db arg.
func (*ToolOptions) Parse ¶
func (o *ToolOptions) Parse() ([]string, error)
Parse the command line args. Returns any extra args not accounted for by parsing, as well as an error if the parsing returns an error.
func (*ToolOptions) PrintHelp ¶
func (o *ToolOptions) PrintHelp(force bool) bool
Print the usage message for the tool to stdout. Returns whether or not the help flag is specified.
func (*ToolOptions) PrintVersion ¶
func (o *ToolOptions) PrintVersion() bool
Print the tool version to stdout. Returns whether or not the version flag is specified.