##### SUMMARY
Some of the modules still return something in `ansible_facts`, even though the result in there is an empty list:
 - ~~`azure_rm_publicipaddress_info`~~
 - ~~`azure_rm_networkinterface_info`~~
 - `azure_rm_storageaccount_info`
 - `azure_rm_virtualmachineimage_info`
 - `azure_rm_virtualmachinescaleset_info`
 - `azure_rm_virtualnetwork_info`

Finally, `azure_rm_resourcegroup_info` always returns `ansible_facts` with content (which is also returned as non-`ansible_facts`).

When called as `_info` modules, these modules should not have anything in `ansible_facts` when returning.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
~~azure_rm_publicipaddress_info~~
~~azure_rm_networkinterface_info~~
azure_rm_resourcegroup_info
azure_rm_storageaccount_info
azure_rm_virtualmachineimage_info
azure_rm_virtualmachinescaleset_info
azure_rm_virtualnetwork_info

##### ANSIBLE VERSION
```paste below
2.9
```

"service": "Microsoft.Storage"
                        }
                    ]
'''
try:
    from msrestazure.azure_exceptions import CloudError
except Exception:
    
    pass
from ansible.module_utils.azure_rm_common import AzureRMModuleBase
AZURE_OBJECT_CLASS = 'VirtualNetwork'
class AzureRMNetworkInterfaceInfo(AzureRMModuleBase):
    def __init__(self):
        self.module_arg_spec = dict(
            name=dict(type='str'),
            resource_group=dict(type='str'),
            tags=dict(type='list'),
        )
        self.results = dict(
            changed=False,
            ansible_facts=dict(azure_virtualnetworks=[]),
            virtualnetworks=[]
        )
        self.name = None
        self.resource_group = None
        self.tags = None
        super(AzureRMNetworkInterfaceInfo, self).__init__(self.module_arg_spec,
                                                          supports_tags=False,
                                                          facts_module=True)
    def exec_module(self, **kwargs):