Skip to content

Commit 8bc024f

Browse files
authored
resourceIdentity: add d.Identity to Create and Update to cover new validation in sdk/v2 - 2.28.1 (#15925)
2 parents 3f98421 + 5f238b6 commit 8bc024f

File tree

4 files changed

+88
-3
lines changed

4 files changed

+88
-3
lines changed

mmv1/templates/terraform/custom_update/storage_folder_update.go.tmpl

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,23 @@ if d.Get("force_destroy") != nil {
66
}
77
}
88

9+
identity, err := d.Identity()
10+
if err == nil && identity != nil {
11+
if v, ok := identity.GetOk("bucket"); !ok && v == "" {
12+
err = identity.Set("bucket", d.Get("bucket").(string))
13+
if err != nil {
14+
return fmt.Errorf("Error setting bucket: %s", err)
15+
}
16+
}
17+
if v, ok := identity.GetOk("name"); !ok && v == "" {
18+
err = identity.Set("name", d.Get("name").(string))
19+
if err != nil {
20+
return fmt.Errorf("Error setting name: %s", err)
21+
}
22+
}
23+
} else {
24+
log.Printf("[DEBUG] (Read) identity not set: %s", err)
25+
}
26+
927
// all other fields are immutable, don't do anything else
1028
return nil

mmv1/templates/terraform/custom_update/storage_managed_folder.go.tmpl

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,23 @@ if d.Get("force_destroy") != nil {
77
}
88
}
99

10+
identity, err := d.Identity()
11+
if err == nil && identity != nil {
12+
if v, ok := identity.GetOk("bucket"); !ok && v == "" {
13+
err = identity.Set("bucket", d.Get("bucket").(string))
14+
if err != nil {
15+
return fmt.Errorf("Error setting bucket: %s", err)
16+
}
17+
}
18+
if v, ok := identity.GetOk("name"); !ok && v == "" {
19+
err = identity.Set("name", d.Get("name").(string))
20+
if err != nil {
21+
return fmt.Errorf("Error setting name: %s", err)
22+
}
23+
}
24+
} else {
25+
log.Printf("[DEBUG] (Read) identity not set: %s", err)
26+
}
27+
1028
// all other fields are immutable, don't do anything else
1129
return nil

mmv1/templates/terraform/pre_read/sql_database_activation_policy.tmpl

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,28 @@ if err != nil {
44
return err
55
}
66
if databaseInstance.Settings != nil && databaseInstance.Settings.ActivationPolicy != "ALWAYS" {
7+
identity, err := d.Identity()
8+
if err == nil && identity != nil {
9+
if v, ok := identity.GetOk("name"); !ok && v == "" {
10+
err = identity.Set("name", d.Get("name").(string))
11+
if err != nil {
12+
return fmt.Errorf("Error setting name: %s", err)
13+
}
14+
}
15+
if v, ok := identity.GetOk("instance"); !ok && v == "" {
16+
err = identity.Set("instance", d.Get("instance").(string))
17+
if err != nil {
18+
return fmt.Errorf("Error setting instance: %s", err)
19+
}
20+
}
21+
if v, ok := identity.GetOk("project"); !ok && v == "" {
22+
err = identity.Set("project", d.Get("project").(string))
23+
if err != nil {
24+
return fmt.Errorf("Error setting project: %s", err)
25+
}
26+
}
27+
} else {
28+
log.Printf("[DEBUG] (Read) identity not set: %s", err)
29+
}
730
return nil
831
}

mmv1/templates/terraform/resource.go.tmpl

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,19 @@ func resource{{ $.ResourceName -}}Create(d *schema.ResourceData, meta interface{
367367
}
368368
d.SetId(id)
369369

370+
identity, err := d.Identity()
371+
if err == nil && identity != nil {
372+
{{- range $p := $.IdentityProperties }}
373+
if {{ $p.CamelizeProperty }}Value, ok := d.GetOk("{{ underscore $p.Name}}"); ok && {{ $p.CamelizeProperty }}Value.(string)!= "" {
374+
if err = identity.Set("{{ underscore $p.Name}}", {{ $p.CamelizeProperty }}Value.(string)); err != nil {
375+
return fmt.Errorf("Error setting {{ underscore $p.Name}}: %s", err)
376+
}
377+
}
378+
{{- end }}
379+
} else {
380+
log.Printf("[DEBUG] (Create) identity not set: %s", err)
381+
}
382+
370383
{{if and $.GetAsync ($.GetAsync.Allow "Create") -}}
371384
{{ if ($.GetAsync.IsA "OpAsync") -}}
372385
{{ if and $.GetAsync.Result.ResourceInsideResponse $.HasPostCreateComputedFields -}}
@@ -747,17 +760,17 @@ func resource{{ $.ResourceName -}}Read(d *schema.ResourceData, meta interface{})
747760
{{- end}}
748761

749762
identity, err := d.Identity()
750-
if err != nil && identity != nil {
763+
if err == nil && identity != nil {
751764
{{- range $p := $.IdentityProperties }}
752-
if v, ok := identity.GetOk("{{ underscore $p.Name}}"); ok && v != "" {
765+
if v, ok := identity.GetOk("{{ underscore $p.Name}}");!ok && v == "" {
753766
err = identity.Set("{{ underscore $p.Name}}", d.Get("{{ underscore $p.Name}}").(string))
754767
if err != nil {
755768
return fmt.Errorf("Error setting {{ underscore $p.Name}}: %s", err)
756769
}
757770
}
758771
{{- end }}
759772
} else {
760-
log.Printf("[DEBUG] identity not set: %s", err)
773+
log.Printf("[DEBUG] (Read) identity not set: %s", err)
761774
}
762775
{{- end }}
763776
return nil
@@ -777,6 +790,19 @@ func resource{{ $.ResourceName -}}Update(d *schema.ResourceData, meta interface{
777790
return err
778791
}
779792

793+
identity, err := d.Identity()
794+
if err == nil && identity != nil {
795+
{{- range $p := $.IdentityProperties }}
796+
if {{ $p.CamelizeProperty }}Value, ok := d.GetOk("{{ underscore $p.Name}}"); ok && {{ $p.CamelizeProperty }}Value.(string)!= "" {
797+
if err = identity.Set("{{ underscore $p.Name}}", {{ $p.CamelizeProperty }}Value.(string)); err != nil {
798+
return fmt.Errorf("Error setting {{ underscore $p.Name}}: %s", err)
799+
}
800+
}
801+
{{- end }}
802+
} else {
803+
log.Printf("[DEBUG] (Update) identity not set: %s", err)
804+
}
805+
780806
billingProject := ""
781807

782808
{{ if $.HasProject -}}

0 commit comments

Comments
 (0)