in ec/ecdatasource/deploymentdatasource/flatteners_kibana.go [34:88]
func flattenKibanaResources(ctx context.Context, in []*models.KibanaResourceInfo) (types.List, diag.Diagnostics) {
var diagsnostics diag.Diagnostics
var result = make([]kibanaResourceInfoModelV0, 0, len(in))
for _, res := range in {
model := kibanaResourceInfoModelV0{
Topology: types.ListNull(types.ObjectType{AttrTypes: kibanaTopologyAttrTypes()}),
}
if res.ElasticsearchClusterRefID != nil {
model.ElasticsearchClusterRefID = types.StringValue(*res.ElasticsearchClusterRefID)
}
if res.RefID != nil {
model.RefID = types.StringValue(*res.RefID)
}
if res.Info != nil {
if res.Info.Healthy != nil {
model.Healthy = types.BoolValue(*res.Info.Healthy)
}
if res.Info.ClusterID != nil {
model.ResourceID = types.StringValue(*res.Info.ClusterID)
}
if res.Info.Status != nil {
model.Status = types.StringValue(*res.Info.Status)
}
if !util.IsCurrentKibanaPlanEmpty(res) {
var plan = res.Info.PlanInfo.Current.Plan
if plan.Kibana != nil {
model.Version = types.StringValue(plan.Kibana.Version)
}
var diags diag.Diagnostics
model.Topology, diags = flattenKibanaTopology(ctx, plan)
diagsnostics.Append(diags...)
}
if res.Info.Metadata != nil {
model.HttpEndpoint, model.HttpsEndpoint = converters.ExtractEndpointsToTypes(res.Info.Metadata)
}
}
result = append(result, model)
}
target, diags := types.ListValueFrom(ctx, types.ObjectType{AttrTypes: kibanaResourceInfoAttrTypes()}, result)
diagsnostics.Append(diags...)
return target, diagsnostics
}