@@ -11,6 +11,7 @@ import (
1111
1212 "github.com/hashicorp/terraform/helper/schema"
1313 "github.com/hashicorp/terraform/helper/validation"
14+
1415 oci_core "github.com/oracle/oci-go-sdk/core"
1516)
1617
@@ -784,7 +785,6 @@ func (s *CoreInstanceConfigurationResourceCrud) mapToInstanceConfigurationAttach
784785
785786func InstanceConfigurationAttachVolumeDetailsToMap (obj * oci_core.InstanceConfigurationAttachVolumeDetails ) map [string ]interface {} {
786787 result := map [string ]interface {}{}
787-
788788 switch v := (* obj ).(type ) {
789789 case oci_core.InstanceConfigurationIscsiAttachVolumeDetails :
790790 result ["type" ] = "iscsi"
@@ -1050,41 +1050,41 @@ func (s *CoreInstanceConfigurationResourceCrud) mapToInstanceConfigurationInstan
10501050 switch strings .ToLower (instanceType ) {
10511051 case strings .ToLower ("compute" ):
10521052 details := oci_core.ComputeInstanceDetails {}
1053+ details .BlockVolumes = []oci_core.InstanceConfigurationBlockVolumeDetails {}
10531054 if blockVolumes , ok := s .D .GetOkExists (fmt .Sprintf (fieldKeyFormat , "block_volumes" )); ok {
1054- details .BlockVolumes = []oci_core.InstanceConfigurationBlockVolumeDetails {}
10551055 interfaces := blockVolumes .([]interface {})
10561056 tmp := make ([]oci_core.InstanceConfigurationBlockVolumeDetails , len (interfaces ))
10571057 for i := range interfaces {
10581058 stateDataIndex := i
1059- fieldKeyFormatNextLevel := fmt .Sprintf (fieldKeyFormat , fmt . Sprintf ( "%s.%d.%%s" , "block_volumes" , stateDataIndex ) )
1059+ fieldKeyFormatNextLevel := fmt .Sprintf ("%s.%d.%%s" , fmt . Sprintf ( fieldKeyFormat , "block_volumes" ) , stateDataIndex )
10601060 converted , err := s .mapToInstanceConfigurationBlockVolumeDetails (fieldKeyFormatNextLevel )
10611061 if err != nil {
1062- return nil , err
1062+ return details , err
10631063 }
10641064 tmp [i ] = converted
10651065 }
10661066 details .BlockVolumes = tmp
10671067 }
10681068 if launchDetails , ok := s .D .GetOkExists (fmt .Sprintf (fieldKeyFormat , "launch_details" )); ok {
10691069 if tmpList := launchDetails .([]interface {}); len (tmpList ) > 0 {
1070- fieldKeyFormatNextLevel := fmt .Sprintf (fieldKeyFormat , fmt . Sprintf ( "%s.%d.%%s" , "launch_details" , 0 ) )
1070+ fieldKeyFormatNextLevel := fmt .Sprintf ("%s.%d.%%s" , fmt . Sprintf ( fieldKeyFormat , "launch_details" ) , 0 )
10711071 tmp , err := s .mapToInstanceConfigurationLaunchInstanceDetails (fieldKeyFormatNextLevel )
10721072 if err != nil {
1073- return nil , err
1073+ return details , fmt . Errorf ( "unable to convert launch_details, encountered error: %v" , err )
10741074 }
10751075 details .LaunchDetails = & tmp
10761076 }
10771077 }
1078+ details .SecondaryVnics = []oci_core.InstanceConfigurationAttachVnicDetails {}
10781079 if secondaryVnics , ok := s .D .GetOkExists (fmt .Sprintf (fieldKeyFormat , "secondary_vnics" )); ok {
1079- details .SecondaryVnics = []oci_core.InstanceConfigurationAttachVnicDetails {}
10801080 interfaces := secondaryVnics .([]interface {})
10811081 tmp := make ([]oci_core.InstanceConfigurationAttachVnicDetails , len (interfaces ))
10821082 for i := range interfaces {
10831083 stateDataIndex := i
1084- fieldKeyFormatNextLevel := fmt .Sprintf (fieldKeyFormat , fmt . Sprintf ( "%s.%d.%%s" , "secondary_vnics" , stateDataIndex ) )
1084+ fieldKeyFormatNextLevel := fmt .Sprintf ("%s.%d.%%s" , fmt . Sprintf ( fieldKeyFormat , "secondary_vnics" ) , stateDataIndex )
10851085 converted , err := s .mapToInstanceConfigurationAttachVnicDetails (fieldKeyFormatNextLevel )
10861086 if err != nil {
1087- return nil , err
1087+ return details , err
10881088 }
10891089 tmp [i ] = converted
10901090 }
0 commit comments