code: def azure_resource_from_dict(data: dict) -> AzureResource:
      typ = data["type"]
      if typ == AzureStaticSizedDiskResource.TYPE:
          return AzureStaticSizedDiskResource.from_dict(data)
      if typ == AzureDynamicSizedDiskResource.TYPE:
          return AzureDynamicSizedDiskResource.from_dict(data)
      if typ == AzureVMResource.TYPE:
          return AzureVMResource.from_dict(data)
      if typ == AzureServiceFeeResource.TYPE:
          return AzureServiceFeeResource.from_dict(data)
      assert typ == AzureIPFeeResource.TYPE
      return AzureIPFeeResource.from_dict(data)
  
imports: from typing import Any, Dict, Optional
  from ...driver.billing_manager import ProductVersions
  from ...resources import DynamicSizedDiskResourceMixin, IPFeeResourceMixin, QuantifiedResource, Resource, ServiceFeeResourceMixin, StaticSizedDiskResourceMixin, VMResourceMixin
  from .resource_utils import azure_disk_from_storage_in_gib, azure_disks_by_disk_type
label_desc: Use image node_id 2 for calling a global function with example usage: azure_resource_from_dict(data) and returns: AzureIPFeeResource, AzureStaticSizedDiskResource, AzureDynamicSizedDiskResource, AzureVMResource, AzureServiceFeeResource