func expandDistributedVirtualSwitchHostMemberConfigSpec(d map[string]interface{}) types.DistributedVirtualSwitchHostMemberConfigSpec {
	hostRef := &types.ManagedObjectReference{
		Type:  "HostSystem",
		Value: d["host_system_id"].(string),
	}

	var pnSpecs []types.DistributedVirtualSwitchHostMemberPnicSpec
	nics := structure.SliceInterfacesToStrings(d["devices"].([]interface{}))
	for _, nic := range nics {
		pnSpec := types.DistributedVirtualSwitchHostMemberPnicSpec{
			PnicDevice: nic,
		}
		pnSpecs = append(pnSpecs, pnSpec)
	}
	backing := types.DistributedVirtualSwitchHostMemberPnicBacking{
		PnicSpec: pnSpecs,
	}

	obj := types.DistributedVirtualSwitchHostMemberConfigSpec{
		Host:    *hostRef,
		Backing: &backing,
	}
	return obj
}
func expandDistributedVirtualSwitchHostMemberConfigSpec(d map[string]interface{}) types.DistributedVirtualSwitchHostMemberConfigSpec {
	hostRef := &types.ManagedObjectReference{
		Type:  "HostSystem",
		Value: d["host_system_id"].(string),
	}

	var pnSpecs []types.DistributedVirtualSwitchHostMemberPnicSpec
	nics := structure.SliceInterfacesToStrings(d["devices"].([]interface{}))
	for _, nic := range nics {
		pnSpec := types.DistributedVirtualSwitchHostMemberPnicSpec{
			PnicDevice: nic,
		}
		pnSpecs = append(pnSpecs, pnSpec)
	}
	backing := types.DistributedVirtualSwitchHostMemberPnicBacking{
		PnicSpec: pnSpecs,
	}

	obj := types.DistributedVirtualSwitchHostMemberConfigSpec{
		Host:    *hostRef,
		Backing: &backing,
	}
	return obj
}
// expandDistributedVirtualSwitchHostMemberConfigSpec reads certain keys from a
// Set object map and returns a DistributedVirtualSwitchHostMemberConfigSpec.