func (a *iDracAccessDetails) SupportsSecureBoot() bool {
	return false
}
NOTE(dtantsur): change to true if we switch to redfish-based implementations
by default.
package bmc
import (
	"net/url"
	"strings"
	metal3v1alpha1 "github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1"
)
func init() {
	RegisterFactory("idrac", newIDRACAccessDetails, []string{"http", "https"})
}
func newIDRACAccessDetails(parsedURL *url.URL, disableCertificateVerification bool) (AccessDetails, error) {
	return &iDracAccessDetails{
		bmcType:                        parsedURL.Scheme,
		portNum:                        parsedURL.Port(),
		hostname:                       parsedURL.Hostname(),
		path:                           parsedURL.Path,
		disableCertificateVerification: disableCertificateVerification,
	}, nil
}
type iDracAccessDetails struct {
	bmcType                        string
	portNum                        string
	hostname                       string
	path                           string
	disableCertificateVerification bool
}
func (a *iDracAccessDetails) Type() string {
	return a.bmcType
}
func (a *iDracAccessDetails) NeedsMAC() bool {
	return false
}
func (a *iDracAccessDetails) Driver() string {
	return "idrac"
}
func (a *iDracAccessDetails) DisableCertificateVerification() bool {
	return a.disableCertificateVerification
}
func (a *iDracAccessDetails) DriverInfo(bmcCreds Credentials) map[string]interface{} {
	result := map[string]interface{}{
		"drac_username": bmcCreds.Username,
		"drac_password": bmcCreds.Password,
		"drac_address":  a.hostname,
	}
	if a.disableCertificateVerification {
		result["drac_verify_ca"] = false
	}
	schemes := strings.Split(a.bmcType, "+")
	if len(schemes) > 1 {
		result["drac_protocol"] = schemes[1]
	}
	if a.portNum != "" {
		result["drac_port"] = a.portNum
	}
	if a.path != "" {
		result["drac_path"] = a.path
	}
	return result
}
func (a *iDracAccessDetails) BIOSInterface() string {
	return ""
}
func (a *iDracAccessDetails) BootInterface() string {
	return "ipxe"
}
func (a *iDracAccessDetails) ManagementInterface() string {
	return ""
}
func (a *iDracAccessDetails) PowerInterface() string {
	return ""
}
func (a *iDracAccessDetails) RAIDInterface() string {
	return "idrac-wsman"
}
func (a *iDracAccessDetails) VendorInterface() string {
	return ""
}