package {{.PackageName}} import ( "context" "fmt" "math" "github.com/hashicorp/terraform-plugin-framework/attr" "github.com/hashicorp/terraform-plugin-framework/diag" "github.com/hashicorp/terraform-plugin-framework/resource" "github.com/hashicorp/terraform-plugin-framework/types" "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/conversion" {{.PackageName}} "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/pkg_gen/{{.PackageName}}" {{.PackageName}}ResGen "tf-provider.git.onstackit.cloud/stackit-dev-tools/terraform-provider-stackitprivatepreview/stackit/internal/services/{{.PackageName}}/instance/resources_gen" ) func mapResponseToModel( ctx context.Context, resp *{{.PackageName}}.Get{{.NamePascal}}Response, m *{{.PackageName}}ResGen.{{.NamePascal}}Model, tfDiags diag.Diagnostics, ) error { // TODO: complete and refactor m.Id = types.StringValue(resp.GetId()) /* sampleList, diags := types.ListValueFrom(ctx, types.StringType, resp.GetList()) tfDiags.Append(diags...) if diags.HasError() { return fmt.Errorf( "error converting list response value", ) } sample, diags := {{.PackageName}}ResGen.NewSampleValue( {{.PackageName}}ResGen.SampleValue{}.AttributeTypes(ctx), map[string]attr.Value{ "field": types.StringValue(string(resp.GetField())), }, ) tfDiags.Append(diags...) if diags.HasError() { return fmt.Errorf( "error converting sample response value", "sample", types.StringValue(string(resp.GetField())), ) } m.Sample = sample */ return nil } func handleEncryption( m *{{.PackageName}}ResGen.{{.NamePascal}}Model, resp *{{.PackageName}}.Get{{.NamePascal}}Response, ) {{.PackageName}}ResGen.EncryptionValue { if !resp.HasEncryption() || resp.Encryption == nil || resp.Encryption.KekKeyId == nil || resp.Encryption.KekKeyRingId == nil || resp.Encryption.KekKeyVersion == nil || resp.Encryption.ServiceAccount == nil { if m.Encryption.IsNull() || m.Encryption.IsUnknown() { return {{.PackageName}}ResGen.NewEncryptionValueNull() } return m.Encryption } enc := {{.PackageName}}ResGen.NewEncryptionValueNull() if kVal, ok := resp.Encryption.GetKekKeyIdOk(); ok { enc.KekKeyId = types.StringValue(kVal) } if kkVal, ok := resp.Encryption.GetKekKeyRingIdOk(); ok { enc.KekKeyRingId = types.StringValue(kkVal) } if kkvVal, ok := resp.Encryption.GetKekKeyVersionOk(); ok { enc.KekKeyVersion = types.StringValue(kkvVal) } if sa, ok := resp.Encryption.GetServiceAccountOk(); ok { enc.ServiceAccount = types.StringValue(sa) } return enc } func toCreatePayload( ctx context.Context, model *{{.PackageName}}ResGen.{{.NamePascal}}Model, ) (*{{.PackageName}}.Create{{.NamePascal}}RequestPayload, error) { if model == nil { return nil, fmt.Errorf("nil model") } return &{{.PackageName}}.Create{{.NamePascal}}RequestPayload{ // TODO: fill fields }, nil }