in ec/ecresource/deploymentresource/topology_dedicated_masters.go [279:318]
func getInstanceConfiguration(
ctx context.Context,
rawTopology types.Object,
deploymentInstanceConfigs []models.InstanceConfigurationInfo,
) *models.InstanceConfigurationInfo {
if rawTopology.IsUnknown() || rawTopology.IsNull() {
return nil
}
var topology es.ElasticsearchTopologyTF
diags := rawTopology.As(ctx, &topology, objectAsOptions)
if diags.HasError() {
tflog.Debug(ctx, "getInstanceConfigurationId: Failed to read topology.", withDiags(diags))
return nil
}
if topology.InstanceConfigurationId.IsUnknown() || topology.InstanceConfigurationId.IsNull() {
return nil
}
icId := topology.InstanceConfigurationId.ValueStringPointer()
icConfigVersion := int32(topology.InstanceConfigurationVersion.ValueInt64())
if icId == nil || *icId == "" {
return nil
}
var deploymentIc *models.InstanceConfigurationInfo
for _, ic := range deploymentInstanceConfigs {
if ic.ID == *icId && ic.ConfigVersion == icConfigVersion {
deploymentIc = &ic
break
}
}
if deploymentIc == nil {
tflog.Debug(ctx, fmt.Sprintf("UpdateDedicatedMasterTier: Instance-config not found: %s", *icId))
return nil
}
return deploymentIc
}