in internal/clients/config/fleet.go [16:57]
func newFleetConfigFromSDK(d *schema.ResourceData, kibanaCfg kibanaOapiConfig) (fleetConfig, sdkdiags.Diagnostics) {
config := kibanaCfg.toFleetConfig()
// Set variables from resource config.
if fleetDataRaw, ok := d.GetOk("fleet"); ok {
fleetData, ok := fleetDataRaw.([]interface{})[0].(map[string]any)
if !ok {
diags := sdkdiags.Diagnostics{
sdkdiags.Diagnostic{
Severity: sdkdiags.Error,
Summary: "Unable to parse Fleet configuration",
Detail: "Fleet configuration data has not been configured correctly or is empty",
},
}
return fleetConfig{}, diags
}
if v, ok := fleetData["endpoint"].(string); ok && v != "" {
config.URL = v
}
if v, ok := fleetData["username"].(string); ok && v != "" {
config.Username = v
}
if v, ok := fleetData["password"].(string); ok && v != "" {
config.Password = v
}
if v, ok := fleetData["api_key"].(string); ok && v != "" {
config.APIKey = v
}
if v, ok := fleetData["ca_certs"].([]interface{}); ok && len(v) > 0 {
for _, elem := range v {
if vStr, elemOk := elem.(string); elemOk {
config.CACerts = append(config.CACerts, vStr)
}
}
}
if v, ok := fleetData["insecure"].(bool); ok {
config.Insecure = v
}
}
return config.withEnvironmentOverrides(), nil
}