func OverrideCreateOrUpdateRequest()

in pkg/api/deploymentapi/override_settings.go [65:103]


func OverrideCreateOrUpdateRequest(req interface{}, overrides *PayloadOverrides) error {
	if req == nil || overrides == nil {
		return nil
	}

	var apm []*models.ApmPayload
	var integrationsServer []*models.IntegrationsServerPayload
	var appsearch []*models.AppSearchPayload
	var elasticsearch []*models.ElasticsearchPayload
	var enterprisesearch []*models.EnterpriseSearchPayload
	var kibana []*models.KibanaPayload
	switch t := req.(type) {
	case *models.DeploymentUpdateRequest:
		if t.Resources == nil {
			return nil
		}
		apm, appsearch = t.Resources.Apm, t.Resources.Appsearch
		elasticsearch, kibana = t.Resources.Elasticsearch, t.Resources.Kibana
		enterprisesearch = t.Resources.EnterpriseSearch
		integrationsServer = t.Resources.IntegrationsServer
	case *models.DeploymentCreateRequest:
		if overrides.Name != "" {
			t.Name = overrides.Name
		}
		if t.Resources == nil {
			return nil
		}
		apm, appsearch = t.Resources.Apm, t.Resources.Appsearch
		elasticsearch, kibana = t.Resources.Elasticsearch, t.Resources.Kibana
		enterprisesearch = t.Resources.EnterpriseSearch
		integrationsServer = t.Resources.IntegrationsServer
	}

	return overrideByPayload(
		apm, appsearch, elasticsearch, integrationsServer, kibana, enterprisesearch,
		overrides.Region, overrides.Version, overrides.ElasticsearchRefID,
		overrides.ElasticcsearchBuiltinPlugins, overrides.OverrideRefIDs,
	)
}