func NewUpdateRequest()

in pkg/api/deploymentapi/update_payload.go [26:86]


func NewUpdateRequest(res *models.DeploymentGetResponse) *models.DeploymentUpdateRequest {
	if res == nil {
		return nil
	}

	var esRefID string
	var req = models.DeploymentUpdateRequest{
		Name:         *res.Name,
		Resources:    &models.DeploymentUpdateResources{},
		PruneOrphans: ec.Bool(false),
	}

	for _, r := range res.Resources.Elasticsearch {
		if resource, rID := parseElasticsearchGetResponse(r); resource != nil {
			req.Resources.Elasticsearch = append(req.Resources.Elasticsearch,
				resource,
			)
			esRefID = rID
		}
	}

	for _, r := range res.Resources.Kibana {
		if resource := parseKibanaGetResponse(r, esRefID); resource != nil {
			req.Resources.Kibana = append(req.Resources.Kibana,
				resource,
			)
		}
	}

	for _, r := range res.Resources.Apm {
		if resource := parseApmGetResponse(r, esRefID); resource != nil {
			req.Resources.Apm = append(req.Resources.Apm,
				resource,
			)
		}
	}

	for _, r := range res.Resources.Appsearch {
		if resource := parseAppSearchGetResponse(r, esRefID); resource != nil {
			req.Resources.Appsearch = append(req.Resources.Appsearch,
				resource,
			)
		}
	}

	for _, r := range res.Resources.EnterpriseSearch {
		if resource := parseEnterpriseSearchGetResponse(r, esRefID); resource != nil {
			req.Resources.EnterpriseSearch = append(req.Resources.EnterpriseSearch,
				resource,
			)
		}
	}

	if res.Settings != nil && res.Settings.Observability != nil {
		req.Settings = &models.DeploymentUpdateSettings{
			Observability: res.Settings.Observability,
		}
	}

	return &req
}