in ec/ecresource/deploymentresource/elasticsearch/v2/elasticsearch_topology.go [144:191]
func readElasticsearchTopology(model *models.ElasticsearchClusterTopologyElement) (*ElasticsearchTopology, error) {
var topology ElasticsearchTopology
topology.id = model.ID
if model.InstanceConfigurationID != "" {
topology.InstanceConfigurationId = &model.InstanceConfigurationID
}
if model.InstanceConfigurationVersion != nil {
topology.InstanceConfigurationVersion = ec.Int(int(*model.InstanceConfigurationVersion))
}
if model.Size != nil {
topology.Size = ec.String(util.MemoryToState(*model.Size.Value))
topology.SizeResource = model.Size.Resource
}
topology.ZoneCount = int(model.ZoneCount)
if nt := model.NodeType; nt != nil {
if nt.Data != nil {
topology.NodeTypeData = ec.String(strconv.FormatBool(*nt.Data))
}
if nt.Ingest != nil {
topology.NodeTypeIngest = ec.String(strconv.FormatBool(*nt.Ingest))
}
if nt.Master != nil {
topology.NodeTypeMaster = ec.String(strconv.FormatBool(*nt.Master))
}
if nt.Ml != nil {
topology.NodeTypeMl = ec.String(strconv.FormatBool(*nt.Ml))
}
}
topology.NodeRoles = model.NodeRoles
autoscaling, err := readElasticsearchTopologyAutoscaling(model)
if err != nil {
return nil, err
}
topology.Autoscaling = autoscaling
return &topology, nil
}