in ec/ecresource/deploymentresource/elasticsearch/v2/elasticsearch_read.go [68:142]
func readElasticsearch(in *models.ElasticsearchResourceInfo, remotes *models.RemoteResources) (*Elasticsearch, error) {
var es Elasticsearch
if util.IsCurrentEsPlanEmpty(in) || IsElasticsearchStopped(in) {
return &es, nil
}
if in.Info.ClusterID != nil && *in.Info.ClusterID != "" {
es.ResourceId = in.Info.ClusterID
}
if in.RefID != nil && *in.RefID != "" {
es.RefId = in.RefID
}
if in.Region != nil {
es.Region = in.Region
}
plan := in.Info.PlanInfo.Current.Plan
var err error
topologies, err := readElasticsearchTopologies(plan)
if err != nil {
return nil, err
}
es.setTopology(topologies)
if plan.AutoscalingEnabled != nil {
es.Autoscale = plan.AutoscalingEnabled
}
if meta := in.Info.Metadata; meta != nil && meta.CloudID != "" {
es.CloudID = &meta.CloudID
}
es.HttpEndpoint, es.HttpsEndpoint = converters.ExtractEndpoints(in.Info.Metadata)
es.Config, err = readElasticsearchConfig(plan.Elasticsearch)
if err != nil {
return nil, err
}
clusters, err := readElasticsearchRemoteClusters(remotes.Resources)
if err != nil {
return nil, err
}
es.RemoteCluster = clusters
extensions, err := readElasticsearchExtensions(plan.Elasticsearch)
if err != nil {
return nil, err
}
es.Extension = extensions
snapshot, err := readElasticsearchSnapshot(in.Info.Settings)
if err != nil {
return nil, err
}
es.Snapshot = snapshot
accounts, err := readElasticsearchTrustAccounts(in.Info.Settings)
if err != nil {
return nil, err
}
es.TrustAccount = accounts
externals, err := readElasticsearchTrustExternals(in.Info.Settings)
if err != nil {
return nil, err
}
es.TrustExternal = externals
return &es, nil
}