Fix generator rebuild and release pipeline
This commit is contained in:
@@ -101,15 +101,17 @@ func (r *{{ToCamel (printf "%s_%s" .ServiceName .SubName)}}Resource) Create(ctx
|
||||
{{- if .HasRefSvcParams }}
|
||||
{{- range .SchemaParams }}
|
||||
{{- if and (gt .RefSvcId 0) (eq (ParamType .) "types.String") }}
|
||||
// Подресурсный refSvc-параметр резолвим только в локальную переменную.
|
||||
// Сам plan не трогаем: UUID нужен лишь для backend-вызова, а в state
|
||||
// Terraform должен видеть исходное пользовательское значение.
|
||||
resolved{{ToCamel .Code}} := plan.{{ToCamel .Code}}.ValueString()
|
||||
if !plan.{{ToCamel .Code}}.IsNull() && !plan.{{ToCamel .Code}}.IsUnknown() {
|
||||
resolved{{ToCamel .Code}}, err := r.client.ResolveRefSvcParamValue(ctx, {{.RefSvcId}}, plan.{{ToCamel .Code}}.ValueString())
|
||||
var err error
|
||||
resolved{{ToCamel .Code}}, err = r.client.ResolveRefSvcParamValue(ctx, {{.RefSvcId}}, plan.{{ToCamel .Code}}.ValueString())
|
||||
if err != nil {
|
||||
resp.Diagnostics.AddError("Ошибка клиента", err.Error())
|
||||
return
|
||||
}
|
||||
if resolved{{ToCamel .Code}} != "" && resolved{{ToCamel .Code}} != plan.{{ToCamel .Code}}.ValueString() {
|
||||
plan.{{ToCamel .Code}} = types.StringValue(resolved{{ToCamel .Code}})
|
||||
}
|
||||
}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -166,8 +168,12 @@ func (r *{{ToCamel (printf "%s_%s" .ServiceName .SubName)}}Resource) Create(ctx
|
||||
|
||||
params := resources_core.CompactParams(map[string]string{
|
||||
{{- range .CreateParams }}
|
||||
{{- if and (gt .RefSvcId 0) (eq (ParamType .) "types.String") }}
|
||||
"{{.Code}}": resolved{{ToCamel .Code}},
|
||||
{{- else }}
|
||||
"{{.Code}}": {{ParamFormat . (printf "plan.%s" (ToCamel .Code))}},
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
})
|
||||
|
||||
operationTimeout := ""
|
||||
@@ -249,15 +255,16 @@ func (r *{{ToCamel (printf "%s_%s" .ServiceName .SubName)}}Resource) Update(ctx
|
||||
{{- if .HasRefSvcParams }}
|
||||
{{- range .SchemaParams }}
|
||||
{{- if and (gt .RefSvcId 0) (eq (ParamType .) "types.String") }}
|
||||
// Update для подресурса следует тому же правилу, что и Create:
|
||||
// резолвим значение только в локальную переменную и не мутируем plan.
|
||||
resolved{{ToCamel .Code}} := plan.{{ToCamel .Code}}.ValueString()
|
||||
if !plan.{{ToCamel .Code}}.IsNull() && !plan.{{ToCamel .Code}}.IsUnknown() {
|
||||
resolved{{ToCamel .Code}}, err := r.client.ResolveRefSvcParamValue(ctx, {{.RefSvcId}}, plan.{{ToCamel .Code}}.ValueString())
|
||||
var err error
|
||||
resolved{{ToCamel .Code}}, err = r.client.ResolveRefSvcParamValue(ctx, {{.RefSvcId}}, plan.{{ToCamel .Code}}.ValueString())
|
||||
if err != nil {
|
||||
resp.Diagnostics.AddError("Ошибка клиента", err.Error())
|
||||
return
|
||||
}
|
||||
if resolved{{ToCamel .Code}} != "" && resolved{{ToCamel .Code}} != plan.{{ToCamel .Code}}.ValueString() {
|
||||
plan.{{ToCamel .Code}} = types.StringValue(resolved{{ToCamel .Code}})
|
||||
}
|
||||
}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -284,8 +291,12 @@ func (r *{{ToCamel (printf "%s_%s" .ServiceName .SubName)}}Resource) Update(ctx
|
||||
|
||||
params := resources_core.CompactParams(map[string]string{
|
||||
{{- range .ModifyParams }}
|
||||
{{- if and (gt .RefSvcId 0) (eq (ParamType .) "types.String") }}
|
||||
"{{.Code}}": resolved{{ToCamel .Code}},
|
||||
{{- else }}
|
||||
"{{.Code}}": {{ParamFormat . (printf "plan.%s" (ToCamel .Code))}},
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
})
|
||||
|
||||
idParams := map[string]string{
|
||||
|
||||
Reference in New Issue
Block a user