code: def get_interfaces_ip(self):
          
          interfaces_ip = {}
  
          interface_table = junos_views.junos_ip_interfaces_table(self.device)
          interface_table.get()
          interface_table_items = interface_table.items()
  
          _FAMILY_VMAP_ = {
              "inet": "ipv4",
              "inet6": "ipv6"
              # can add more mappings
          }
          _FAMILY_MAX_PREFIXLEN = {"inet": 32, "inet6": 128}
  
          for interface_details in interface_table_items:
              ip_network = interface_details[0]
              ip_address = ip_network.split("/")[0]
              address = napalm.base.helpers.convert(
                  napalm.base.helpers.ip, ip_address, ip_address
              )
              try:
                  interface_details_dict = dict(interface_details[1])
                  family_raw = interface_details_dict.get("family")
                  interface = py23_compat.text_type(
                      interface_details_dict.get("interface")
                  )
              except ValueError:
                  continue
              prefix = napalm.base.helpers.convert(
                  int, ip_network.split("/")[-1], _FAMILY_MAX_PREFIXLEN.get(family_raw)
              )
              family = _FAMILY_VMAP_.get(family_raw)
              if not family or not interface:
                  continue
              if interface not in interfaces_ip.keys():
                  interfaces_ip[interface] = {}
              if family not in interfaces_ip[interface].keys():
                  interfaces_ip[interface][family] = {}
              if address not in interfaces_ip[interface][family].keys():
                  interfaces_ip[interface][family][address] = {}
              interfaces_ip[interface][family][address]["prefix_length"] = prefix
  
          return interfaces_ip
docs: Return the configured IP addresses.