func ParseArg()

in pkg/esoutput/config.go [128:182]


func ParseArg(arg string) (Config, error) {
	var c Config
	params, err := strvals.Parse(arg)
	if err != nil {
		return c, err
	}

	if v, ok := params["url"].(string); ok {
		c.Url = null.StringFrom(v)
	}

	if v, ok := params["cloud-id"].(string); ok {
		c.CloudID = null.StringFrom(v)
	}

	if v, ok := params["caCertFile"].(string); ok {
		c.CACert = null.StringFrom(v)
	}

	if v, ok := params["insecureSkipVerify"].(bool); ok {
		c.InsecureSkipVerify = null.BoolFrom(v)
	}

	if v, ok := params["clientCertFile"].(string); ok {
		c.ClientCert = null.StringFrom(v)
	}
	if v, ok := params["clientKeyFile"].(string); ok {
		c.ClientKey = null.StringFrom(v)
	}

	if v, ok := params["user"].(string); ok {
		c.User = null.StringFrom(v)
	}

	if v, ok := params["password"].(string); ok {
		c.Password = null.StringFrom(v)
	}
	if v, ok := params["apiKey"].(string); ok {
		c.APIKey = null.StringFrom(v)
	}
	if v, ok := params["serviceAccountToken"].(string); ok {
		c.ServiceAccountToken = null.StringFrom(v)
	}

	if v, ok := params["flushPeriod"].(string); ok {
		if err := c.FlushPeriod.UnmarshalText([]byte(v)); err != nil {
			return c, err
		}
	}
	if v, ok := params["indexName"].(string); ok {
		c.IndexName = null.StringFrom(v)
	}

	return c, nil
}