Skip to content

Commit fe316cd

Browse files
authored
Added an empty check on allowed_use for is_instance (IBM-Cloud#6381)
* Added an empty check on allowed_use for is_instance * Update resource_ibm_is_instance.go * fix * Update resource_ibm_is_image.go
1 parent 8c5fcbf commit fe316cd

File tree

5 files changed

+12
-12
lines changed

5 files changed

+12
-12
lines changed

ibm/service/vpc/resource_ibm_is_image.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ func imgCreateByFile(context context.Context, d *schema.ResourceData, meta inter
389389
Name: &operatingSystem,
390390
},
391391
}
392-
if allowedUse, ok := d.GetOk("allowed_use"); ok {
392+
if allowedUse, ok := d.GetOk("allowed_use"); ok && len(allowedUse.([]interface{})) > 0 {
393393
allowedUseModel, err := ResourceIBMUsageConstraintsMapToImageAllowUsePrototype(allowedUse.([]interface{})[0].(map[string]interface{}))
394394
if err != nil {
395395
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_is_image", "create", "parse-allowed_use").GetDiag()
@@ -477,7 +477,7 @@ func imgCreateByVolume(context context.Context, d *schema.ResourceData, meta int
477477
imagePrototype.SourceVolume = &vpcv1.VolumeIdentity{
478478
ID: &volume,
479479
}
480-
if allowedUse, ok := d.GetOk("allowed_use"); ok {
480+
if allowedUse, ok := d.GetOk("allowed_use"); ok && len(allowedUse.([]interface{})) > 0 {
481481
allowedUseModel, err := ResourceIBMUsageConstraintsMapToImageAllowUsePrototype(allowedUse.([]interface{})[0].(map[string]interface{}))
482482
if err != nil {
483483
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_is_image", "create", "parse-allowed_use").GetDiag()
@@ -772,7 +772,7 @@ func imgUpdate(context context.Context, d *schema.ResourceData, meta interface{}
772772
imagePatchModel.DeprecationAt = &deprecateAt
773773
}
774774
}
775-
if d.HasChange("allowed_use") {
775+
if d.HasChange("allowed_use") && len(d.Get("allowed_use").([]interface{})) > 0 {
776776
allowedUseModel, err := ResourceIBMIsImageMapToImageAllowedUsePatch(d.Get("allowed_use").([]interface{})[0].(map[string]interface{}))
777777
if err != nil {
778778
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_is_image", "update", "parse-allowed_use").GetDiag()

ibm/service/vpc/resource_ibm_is_instance.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2481,7 +2481,7 @@ func instanceCreateByImage(context context.Context, d *schema.ResourceData, meta
24812481
Name: &bootProfile,
24822482
}
24832483
//boot volume allowed use
2484-
if _, ok := bootvol["allowed_use"]; ok {
2484+
if _, ok := bootvol["allowed_use"]; ok && len(bootvol["allowed_use"].([]interface{})) > 0 {
24852485
allowedUseModel, _ := ResourceIBMIsVolumeAllowedUseMapToVolumeAllowedUsePrototype(bootvol["allowed_use"].([]interface{})[0].(map[string]interface{}))
24862486
if allowedUseModel != nil {
24872487
volTemplate.AllowedUse = allowedUseModel
@@ -3086,7 +3086,7 @@ func instanceCreateByCatalogOffering(context context.Context, d *schema.Resource
30863086
Name: &volprof,
30873087
}
30883088
//boot volume allowed use
3089-
if _, ok := bootvol["allowed_use"]; ok {
3089+
if _, ok := bootvol["allowed_use"]; ok && len(bootvol["allowed_use"].([]interface{})) > 0 {
30903090
allowedUseModel, _ := ResourceIBMIsVolumeAllowedUseMapToVolumeAllowedUsePrototype(bootvol["allowed_use"].([]interface{})[0].(map[string]interface{}))
30913091
if allowedUseModel != nil {
30923092
volTemplate.AllowedUse = allowedUseModel
@@ -3650,7 +3650,7 @@ func instanceCreateByTemplate(context context.Context, d *schema.ResourceData, m
36503650
Name: &volprof,
36513651
}
36523652
//boot volume allowed use
3653-
if _, ok := bootvol["allowed_use"]; ok {
3653+
if _, ok := bootvol["allowed_use"]; ok && len(bootvol["allowed_use"].([]interface{})) > 0 {
36543654
allowedUseModel, _ := ResourceIBMIsVolumeAllowedUseMapToVolumeAllowedUsePrototype(bootvol["allowed_use"].([]interface{})[0].(map[string]interface{}))
36553655
if allowedUseModel != nil {
36563656
volTemplate.AllowedUse = allowedUseModel
@@ -4235,7 +4235,7 @@ func instanceCreateBySnapshot(context context.Context, d *schema.ResourceData, m
42354235
CRN: &snapshotCrnStr,
42364236
}
42374237
}
4238-
if _, ok := bootvol["allowed_use"]; ok {
4238+
if _, ok := bootvol["allowed_use"]; ok && len(bootvol["allowed_use"].([]interface{})) > 0 {
42394239
allowedUseModel, _ := ResourceIBMIsVolumeAllowedUseMapToVolumeAllowedUsePrototype(bootvol["allowed_use"].([]interface{})[0].(map[string]interface{}))
42404240
if allowedUseModel != nil {
42414241
volTemplate.AllowedUse = allowedUseModel

ibm/service/vpc/resource_ibm_is_instance_volume_attachment.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ func instanceVolAttachmentCreate(context context.Context, d *schema.ResourceData
438438
volProtoVol.Bandwidth = &volBandwidthInt
439439
}
440440
}
441-
if allowedUse, ok := d.GetOk("allowed_use"); ok {
441+
if allowedUse, ok := d.GetOk("allowed_use"); ok && len(allowedUse.([]interface{})) > 0 {
442442
allowedUseModel, _ := ResourceIBMIsVolumeAllowedUseMapToVolumeAllowedUsePrototype(allowedUse.([]interface{})[0].(map[string]interface{}))
443443
volProtoVol.AllowedUse = allowedUseModel
444444
}

ibm/service/vpc/resource_ibm_is_snapshot.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -592,7 +592,7 @@ func resourceIBMISSnapshotCreate(context context.Context, d *schema.ResourceData
592592
snapshotprototypeoptions.Name = &name
593593
}
594594

595-
if allowedUse, ok := d.GetOk("allowed_use"); ok {
595+
if allowedUse, ok := d.GetOk("allowed_use"); ok && len(allowedUse.([]interface{})) > 0 {
596596
allowedUseModel, _ := ResourceIBMIsSnapshotMapToSnapshotAllowedUse(allowedUse.([]interface{})[0].(map[string]interface{}))
597597
snapshotprototypeoptions.AllowedUse = allowedUseModel
598598
}
@@ -621,7 +621,7 @@ func resourceIBMISSnapshotCreate(context context.Context, d *schema.ResourceData
621621
}
622622
}
623623

624-
if allowedUse, ok := d.GetOk("allowed_use"); ok {
624+
if allowedUse, ok := d.GetOk("allowed_use"); ok && len(allowedUse.([]interface{})) > 0 {
625625
allowedUseModel, _ := ResourceIBMIsSnapshotMapToSnapshotAllowedUse(allowedUse.([]interface{})[0].(map[string]interface{}))
626626
snapshotprototypeoptionsbysourcesnapshot.AllowedUse = allowedUseModel
627627
}
@@ -1119,7 +1119,7 @@ func snapshotUpdate(context context.Context, d *schema.ResourceData, meta interf
11191119

11201120
}
11211121

1122-
if d.HasChange("allowed_use") {
1122+
if d.HasChange("allowed_use") && len(d.Get("allowed_use").([]interface{})) > 0 {
11231123
getSnapshotOptions := &vpcv1.GetSnapshotOptions{
11241124
ID: &id,
11251125
}

ibm/service/vpc/resource_ibm_is_volume.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,7 @@ func volCreate(context context.Context, d *schema.ResourceData, meta interface{}
615615
volTemplate.UserTags = userTagsArray
616616
}
617617
}
618-
if allowedUse, ok := d.GetOk("allowed_use"); ok {
618+
if allowedUse, ok := d.GetOk("allowed_use"); ok && len(allowedUse.([]interface{})) > 0 {
619619
allowedUseModel, _ := ResourceIBMIsVolumeAllowedUseMapToVolumeAllowedUsePrototype(allowedUse.([]interface{})[0].(map[string]interface{}))
620620
volTemplate.AllowedUse = allowedUseModel
621621
}

0 commit comments

Comments
 (0)