func()

in compliance/elasticsearch.go [98:124]


func (es *Elasticsearch) SimulateIndexTemplate(name string) (*SimulatedIndexTemplate, error) {
	resp, err := es.client.Indices.SimulateTemplate(
		es.client.Indices.SimulateTemplate.WithName(name),
		es.client.Indices.SimulateTemplate.WithContext(context.TODO()),
	)
	if err != nil {
		return nil, err
	}
	defer resp.Body.Close()

	if resp.StatusCode != http.StatusOK {
		return nil, fmt.Errorf("HTTP status code %d", resp.StatusCode)
	}

	var simulateResponse struct {
		Template *SimulatedIndexTemplate `json:"template"`
	}
	err = newJSONDecoder(resp.Body).Decode(&simulateResponse)
	if err != nil {
		return nil, err
	}
	if simulateResponse.Template == nil {
		return nil, errors.New("empty template simulated, something is wrong")
	}

	return simulateResponse.Template, nil
}