code: func NewDNSProvider() (*DNSProvider, error) {
  	values, err := env.Get("BLUECAT_SERVER_URL", "BLUECAT_USER_NAME", "BLUECAT_PASSWORD", "BLUECAT_CONFIG_NAME", "BLUECAT_DNS_VIEW")
  	if err != nil {
  		return nil, fmt.Errorf("bluecat: %v", err)
  	}
  
  	config := NewDefaultConfig()
  	config.BaseURL = values["BLUECAT_SERVER_URL"]
  	config.UserName = values["BLUECAT_USER_NAME"]
  	config.Password = values["BLUECAT_PASSWORD"]
  	config.ConfigName = values["BLUECAT_CONFIG_NAME"]
  	config.DNSView = values["BLUECAT_DNS_VIEW"]
  
  	return NewDNSProviderConfig(config)
  }
docs: // NewDNSProvider returns a DNSProvider instance configured for Bluecat DNS.
  // Credentials must be passed in the environment variables: BLUECAT_SERVER_URL, BLUECAT_USER_NAME and BLUECAT_PASSWORD.
  // BLUECAT_SERVER_URL should have the scheme, hostname, and port (if required) of the authoritative Bluecat BAM server.
  // The REST endpoint will be appended.
  // In addition, the Configuration name and external DNS View Name must be passed in BLUECAT_CONFIG_NAME and BLUECAT_DNS_VIEW