Skip to content

Commit 49e6002

Browse files
committed
updated tests
1 parent 4af4ba2 commit 49e6002

4 files changed

+82
-300
lines changed

ibm/service/vpc/data_source_ibm_is_virtual_network_interface_floating_ips.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,12 @@ func dataSourceIBMIsVirtualNetworkInterfaceFloatingIPsRead(context context.Conte
114114

115115
l["crn"] = floatingIP.CRN
116116
l["href"] = floatingIP.Href
117-
// if deleted, err := resourceIBMIsVirtualNetworkInterfaceFloatingIPNetworkInterfaceReferenceDeletedToMap(floatingIP.Deleted); err != nil {
118-
// return diag.FromErr(fmt.Errorf("[ERROR] Error setting status: %s", err))
119-
// } else {
120-
// l["deleted"] = deleted
121-
// }
117+
deleted := make(map[string]interface{})
118+
119+
if floatingIP.Deleted != nil && floatingIP.Deleted.MoreInfo != nil {
120+
deleted["more_info"] = floatingIP.Deleted
121+
}
122+
l["deleted"] = []map[string]interface{}{deleted}
122123
floatingIpsInfo = append(floatingIpsInfo, l)
123124
}
124125
d.SetId(dataSourceIBMISVirtualNetworkInterfaceFloatingIPsID(d))

ibm/service/vpc/resource_ibm_is_virtual_network_interface.go

Lines changed: 29 additions & 264 deletions
Original file line numberDiff line numberDiff line change
@@ -161,126 +161,24 @@ func ResourceIBMIsVirtualNetworkInterface() *schema.Resource {
161161
},
162162
},
163163
"resource_group": &schema.Schema{
164-
Type: schema.TypeList,
165-
MaxItems: 1,
164+
Type: schema.TypeString,
166165
Optional: true,
167166
Computed: true,
168-
Description: "The resource group for this virtual network interface.",
169-
Elem: &schema.Resource{
170-
Schema: map[string]*schema.Schema{
171-
"href": &schema.Schema{
172-
Type: schema.TypeString,
173-
Computed: true,
174-
Description: "The URL for this resource group.",
175-
},
176-
"id": &schema.Schema{
177-
Type: schema.TypeString,
178-
Required: true,
179-
Description: "The unique identifier for this resource group.",
180-
},
181-
"name": &schema.Schema{
182-
Type: schema.TypeString,
183-
Computed: true,
184-
Description: "The name for this resource group.",
185-
},
186-
},
187-
},
167+
Description: "The resource group id for this virtual network interface.",
188168
},
189-
"security_groups": &schema.Schema{
190-
Type: schema.TypeList,
169+
"security_groups": {
170+
Type: schema.TypeSet,
191171
Optional: true,
192172
Computed: true,
173+
ForceNew: true,
174+
Elem: &schema.Schema{Type: schema.TypeString},
175+
Set: schema.HashString,
193176
Description: "The security groups for this virtual network interface.",
194-
Elem: &schema.Resource{
195-
Schema: map[string]*schema.Schema{
196-
"crn": &schema.Schema{
197-
Type: schema.TypeString,
198-
Optional: true,
199-
Computed: true,
200-
Description: "The security group's CRN.",
201-
},
202-
"deleted": &schema.Schema{
203-
Type: schema.TypeList,
204-
Computed: true,
205-
Description: "If present, this property indicates the referenced resource has been deleted, and providessome supplementary information.",
206-
Elem: &schema.Resource{
207-
Schema: map[string]*schema.Schema{
208-
"more_info": &schema.Schema{
209-
Type: schema.TypeString,
210-
Computed: true,
211-
Description: "Link to documentation about deleted resources.",
212-
},
213-
},
214-
},
215-
},
216-
"href": &schema.Schema{
217-
Type: schema.TypeString,
218-
Optional: true,
219-
Computed: true,
220-
Description: "The security group's canonical URL.",
221-
},
222-
"security_group": &schema.Schema{
223-
Type: schema.TypeString,
224-
Optional: true,
225-
Computed: true,
226-
Description: "The unique identifier for this security group.",
227-
},
228-
"name": &schema.Schema{
229-
Type: schema.TypeString,
230-
Computed: true,
231-
Description: "The name for this security group. The name is unique across all security groups for the VPC.",
232-
},
233-
},
234-
},
235177
},
236178
"subnet": &schema.Schema{
237-
Type: schema.TypeList,
238-
MaxItems: 1,
179+
Type: schema.TypeString,
239180
Optional: true,
240-
Description: "The associated subnet.",
241-
Elem: &schema.Resource{
242-
Schema: map[string]*schema.Schema{
243-
"crn": &schema.Schema{
244-
Type: schema.TypeString,
245-
Computed: true,
246-
Description: "The CRN for this subnet.",
247-
},
248-
"deleted": &schema.Schema{
249-
Type: schema.TypeList,
250-
Computed: true,
251-
Description: "If present, this property indicates the referenced resource has been deleted, and providessome supplementary information.",
252-
Elem: &schema.Resource{
253-
Schema: map[string]*schema.Schema{
254-
"more_info": &schema.Schema{
255-
Type: schema.TypeString,
256-
Computed: true,
257-
Description: "Link to documentation about deleted resources.",
258-
},
259-
},
260-
},
261-
},
262-
"href": &schema.Schema{
263-
Type: schema.TypeString,
264-
Computed: true,
265-
Description: "The URL for this subnet.",
266-
},
267-
"subnet": &schema.Schema{
268-
Type: schema.TypeString,
269-
Required: true,
270-
Description: "The unique identifier for this subnet.",
271-
},
272-
"name": &schema.Schema{
273-
Type: schema.TypeString,
274-
Computed: true,
275-
Description: "The name for this subnet. The name is unique across all subnets in the VPC.",
276-
},
277-
"resource_type": &schema.Schema{
278-
Type: schema.TypeString,
279-
Computed: true,
280-
Description: "The resource type.",
281-
},
282-
},
283-
},
181+
Description: "The associated subnet id.",
284182
},
285183
"created_at": &schema.Schema{
286184
Type: schema.TypeString,
@@ -404,23 +302,9 @@ func ResourceIBMIsVirtualNetworkInterface() *schema.Resource {
404302
},
405303
},
406304
"zone": &schema.Schema{
407-
Type: schema.TypeList,
305+
Type: schema.TypeString,
408306
Computed: true,
409-
Description: "The zone this virtual network interface resides in.",
410-
Elem: &schema.Resource{
411-
Schema: map[string]*schema.Schema{
412-
"href": &schema.Schema{
413-
Type: schema.TypeString,
414-
Computed: true,
415-
Description: "The URL for this zone.",
416-
},
417-
"name": &schema.Schema{
418-
Type: schema.TypeString,
419-
Computed: true,
420-
Description: "The globally unique name for this zone.",
421-
},
422-
},
423-
},
307+
Description: "The zone name this virtual network interface resides in.",
424308
},
425309
},
426310
}
@@ -492,20 +376,20 @@ func resourceIBMIsVirtualNetworkInterfaceCreate(context context.Context, d *sche
492376
}
493377
if _, ok := d.GetOk("security_groups"); ok {
494378
var securityGroups []vpcv1.SecurityGroupIdentityIntf
495-
for _, v := range d.Get("security_groups").([]interface{}) {
496-
value := v.(map[string]interface{})
497-
securityGroupsItem, err := resourceIBMIsVirtualNetworkInterfaceMapToSecurityGroupIdentity(value)
498-
if err != nil {
499-
return diag.FromErr(err)
379+
sg := d.Get("security_groups").(*schema.Set)
380+
for _, v := range sg.List() {
381+
value := v.(string)
382+
securityGroupsItem := &vpcv1.SecurityGroupIdentity{
383+
ID: &value,
500384
}
501385
securityGroups = append(securityGroups, securityGroupsItem)
502386
}
503387
createVirtualNetworkInterfaceOptions.SetSecurityGroups(securityGroups)
504388
}
505-
if _, ok := d.GetOk("subnet"); ok {
506-
subnetModel, err := resourceIBMIsVirtualNetworkInterfaceMapToSubnetIdentity(d.Get("subnet.0").(map[string]interface{}))
507-
if err != nil {
508-
return diag.FromErr(err)
389+
if subnetOk, ok := d.GetOk("subnet"); ok {
390+
subnetid := subnetOk.(string)
391+
subnetModel := &vpcv1.SubnetIdentity{
392+
ID: &subnetid,
509393
}
510394
createVirtualNetworkInterfaceOptions.SetSubnet(subnetModel)
511395
}
@@ -584,35 +468,21 @@ func resourceIBMIsVirtualNetworkInterfaceRead(context context.Context, d *schema
584468
}
585469
}
586470
if !core.IsNil(virtualNetworkInterface.ResourceGroup) {
587-
resourceGroupMap, err := resourceIBMIsVirtualNetworkInterfaceResourceGroupReferenceToMap(virtualNetworkInterface.ResourceGroup)
588-
if err != nil {
589-
return diag.FromErr(err)
590-
}
591-
if err = d.Set("resource_group", []map[string]interface{}{resourceGroupMap}); err != nil {
592-
return diag.FromErr(fmt.Errorf("Error setting resource_group: %s", err))
593-
}
471+
d.Set("resource_group", virtualNetworkInterface.ResourceGroup.ID)
594472
}
595473
if !core.IsNil(virtualNetworkInterface.SecurityGroups) {
596-
securityGroups := []map[string]interface{}{}
474+
securityGroups := make([]string, 0)
597475
for _, securityGroupsItem := range virtualNetworkInterface.SecurityGroups {
598-
securityGroupsItemMap, err := resourceIBMIsVirtualNetworkInterfaceSecurityGroupReferenceToMap(&securityGroupsItem)
599-
if err != nil {
600-
return diag.FromErr(err)
476+
if securityGroupsItem.ID != nil {
477+
securityGroups = append(securityGroups, *securityGroupsItem.ID)
601478
}
602-
securityGroups = append(securityGroups, securityGroupsItemMap)
603479
}
604480
if err = d.Set("security_groups", securityGroups); err != nil {
605-
return diag.FromErr(fmt.Errorf("Error setting security_groups: %s", err))
481+
return diag.FromErr(fmt.Errorf("[ERROR] Error setting security_groups for vni: %s", err))
606482
}
607483
}
608484
if !core.IsNil(virtualNetworkInterface.Subnet) {
609-
subnetMap, err := resourceIBMIsVirtualNetworkInterfaceSubnetReferenceToMap(virtualNetworkInterface.Subnet)
610-
if err != nil {
611-
return diag.FromErr(err)
612-
}
613-
if err = d.Set("subnet", []map[string]interface{}{subnetMap}); err != nil {
614-
return diag.FromErr(fmt.Errorf("Error setting subnet: %s", err))
615-
}
485+
d.Set("subnet", virtualNetworkInterface.Subnet.ID)
616486
}
617487
if err = d.Set("created_at", flex.DateTimeToString(virtualNetworkInterface.CreatedAt)); err != nil {
618488
return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err))
@@ -652,12 +522,9 @@ func resourceIBMIsVirtualNetworkInterfaceRead(context context.Context, d *schema
652522
if err = d.Set("vpc", []map[string]interface{}{vpcMap}); err != nil {
653523
return diag.FromErr(fmt.Errorf("Error setting vpc: %s", err))
654524
}
655-
zoneMap, err := resourceIBMIsVirtualNetworkInterfaceZoneReferenceToMap(virtualNetworkInterface.Zone)
656-
if err != nil {
657-
return diag.FromErr(err)
658-
}
659-
if err = d.Set("zone", []map[string]interface{}{zoneMap}); err != nil {
660-
return diag.FromErr(fmt.Errorf("Error setting zone: %s", err))
525+
526+
if virtualNetworkInterface.Zone != nil {
527+
d.Set("zone", *virtualNetworkInterface.Zone.Name)
661528
}
662529

663530
return nil
@@ -778,70 +645,6 @@ func resourceIBMIsVirtualNetworkInterfaceMapToVirtualNetworkInterfacePrototypeRe
778645
return model, nil
779646
}
780647

781-
func resourceIBMIsVirtualNetworkInterfaceMapToSecurityGroupIdentity(modelMap map[string]interface{}) (vpcv1.SecurityGroupIdentityIntf, error) {
782-
model := &vpcv1.SecurityGroupIdentity{}
783-
if modelMap["security_group"] != nil && modelMap["security_group"].(string) != "" {
784-
model.ID = core.StringPtr(modelMap["security_group"].(string))
785-
}
786-
if modelMap["crn"] != nil && modelMap["crn"].(string) != "" {
787-
model.CRN = core.StringPtr(modelMap["crn"].(string))
788-
}
789-
if modelMap["href"] != nil && modelMap["href"].(string) != "" {
790-
model.Href = core.StringPtr(modelMap["href"].(string))
791-
}
792-
return model, nil
793-
}
794-
795-
func resourceIBMIsVirtualNetworkInterfaceMapToSecurityGroupIdentityByID(modelMap map[string]interface{}) (*vpcv1.SecurityGroupIdentityByID, error) {
796-
model := &vpcv1.SecurityGroupIdentityByID{}
797-
model.ID = core.StringPtr(modelMap["security_group"].(string))
798-
return model, nil
799-
}
800-
801-
func resourceIBMIsVirtualNetworkInterfaceMapToSecurityGroupIdentityByCRN(modelMap map[string]interface{}) (*vpcv1.SecurityGroupIdentityByCRN, error) {
802-
model := &vpcv1.SecurityGroupIdentityByCRN{}
803-
model.CRN = core.StringPtr(modelMap["crn"].(string))
804-
return model, nil
805-
}
806-
807-
func resourceIBMIsVirtualNetworkInterfaceMapToSecurityGroupIdentityByHref(modelMap map[string]interface{}) (*vpcv1.SecurityGroupIdentityByHref, error) {
808-
model := &vpcv1.SecurityGroupIdentityByHref{}
809-
model.Href = core.StringPtr(modelMap["href"].(string))
810-
return model, nil
811-
}
812-
813-
func resourceIBMIsVirtualNetworkInterfaceMapToSubnetIdentity(modelMap map[string]interface{}) (vpcv1.SubnetIdentityIntf, error) {
814-
model := &vpcv1.SubnetIdentity{}
815-
if modelMap["subnet"] != nil && modelMap["subnet"].(string) != "" {
816-
model.ID = core.StringPtr(modelMap["subnet"].(string))
817-
}
818-
if modelMap["crn"] != nil && modelMap["crn"].(string) != "" {
819-
model.CRN = core.StringPtr(modelMap["crn"].(string))
820-
}
821-
if modelMap["href"] != nil && modelMap["href"].(string) != "" {
822-
model.Href = core.StringPtr(modelMap["href"].(string))
823-
}
824-
return model, nil
825-
}
826-
827-
func resourceIBMIsVirtualNetworkInterfaceMapToSubnetIdentityByID(modelMap map[string]interface{}) (*vpcv1.SubnetIdentityByID, error) {
828-
model := &vpcv1.SubnetIdentityByID{}
829-
model.ID = core.StringPtr(modelMap["subnet"].(string))
830-
return model, nil
831-
}
832-
833-
func resourceIBMIsVirtualNetworkInterfaceMapToSubnetIdentityByCRN(modelMap map[string]interface{}) (*vpcv1.SubnetIdentityByCRN, error) {
834-
model := &vpcv1.SubnetIdentityByCRN{}
835-
model.CRN = core.StringPtr(modelMap["crn"].(string))
836-
return model, nil
837-
}
838-
839-
func resourceIBMIsVirtualNetworkInterfaceMapToSubnetIdentityByHref(modelMap map[string]interface{}) (*vpcv1.SubnetIdentityByHref, error) {
840-
model := &vpcv1.SubnetIdentityByHref{}
841-
model.Href = core.StringPtr(modelMap["href"].(string))
842-
return model, nil
843-
}
844-
845648
func resourceIBMIsVirtualNetworkInterfaceReservedIPReferenceToMap(model *vpcv1.ReservedIPReference) (map[string]interface{}, error) {
846649
modelMap := make(map[string]interface{})
847650
modelMap["address"] = model.Address
@@ -865,14 +668,6 @@ func resourceIBMIsVirtualNetworkInterfaceReservedIPReferenceDeletedToMap(model *
865668
return modelMap, nil
866669
}
867670

868-
func resourceIBMIsVirtualNetworkInterfaceResourceGroupReferenceToMap(model *vpcv1.ResourceGroupReference) (map[string]interface{}, error) {
869-
modelMap := make(map[string]interface{})
870-
modelMap["href"] = model.Href
871-
modelMap["id"] = model.ID
872-
modelMap["name"] = model.Name
873-
return modelMap, nil
874-
}
875-
876671
func resourceIBMIsVirtualNetworkInterfaceSecurityGroupReferenceToMap(model *vpcv1.SecurityGroupReference) (map[string]interface{}, error) {
877672
modelMap := make(map[string]interface{})
878673
modelMap["crn"] = model.CRN
@@ -895,29 +690,6 @@ func resourceIBMIsVirtualNetworkInterfaceSecurityGroupReferenceDeletedToMap(mode
895690
return modelMap, nil
896691
}
897692

898-
func resourceIBMIsVirtualNetworkInterfaceSubnetReferenceToMap(model *vpcv1.SubnetReference) (map[string]interface{}, error) {
899-
modelMap := make(map[string]interface{})
900-
modelMap["crn"] = model.CRN
901-
if model.Deleted != nil {
902-
deletedMap, err := resourceIBMIsVirtualNetworkInterfaceSubnetReferenceDeletedToMap(model.Deleted)
903-
if err != nil {
904-
return modelMap, err
905-
}
906-
modelMap["deleted"] = []map[string]interface{}{deletedMap}
907-
}
908-
modelMap["href"] = model.Href
909-
modelMap["subnet"] = model.ID
910-
modelMap["name"] = model.Name
911-
modelMap["resource_type"] = model.ResourceType
912-
return modelMap, nil
913-
}
914-
915-
func resourceIBMIsVirtualNetworkInterfaceSubnetReferenceDeletedToMap(model *vpcv1.SubnetReferenceDeleted) (map[string]interface{}, error) {
916-
modelMap := make(map[string]interface{})
917-
modelMap["more_info"] = model.MoreInfo
918-
return modelMap, nil
919-
}
920-
921693
func resourceIBMIsVirtualNetworkInterfaceVirtualNetworkInterfaceTargetToMap(model vpcv1.VirtualNetworkInterfaceTargetIntf) (map[string]interface{}, error) {
922694
if _, ok := model.(*vpcv1.VirtualNetworkInterfaceTargetShareMountTargetReference); ok {
923695
return resourceIBMIsVirtualNetworkInterfaceVirtualNetworkInterfaceTargetShareMountTargetReferenceToMap(model.(*vpcv1.VirtualNetworkInterfaceTargetShareMountTargetReference))
@@ -1041,10 +813,3 @@ func resourceIBMIsVirtualNetworkInterfaceVPCReferenceDeletedToMap(model *vpcv1.V
1041813
modelMap["more_info"] = model.MoreInfo
1042814
return modelMap, nil
1043815
}
1044-
1045-
func resourceIBMIsVirtualNetworkInterfaceZoneReferenceToMap(model *vpcv1.ZoneReference) (map[string]interface{}, error) {
1046-
modelMap := make(map[string]interface{})
1047-
modelMap["href"] = model.Href
1048-
modelMap["name"] = model.Name
1049-
return modelMap, nil
1050-
}

0 commit comments

Comments
 (0)