code: def clone(self, to_linode=None, region=None, service=None, configs=[], disks=[],
              label=None, group=None, with_backups=None):
          if to_linode and region:
              raise ValueError('You may only specify one of "to_linode" and "region"')
          if region and not service:
              raise ValueError('Specifying a region requires a "service" as well')
          if not isinstance(configs, list) and not isinstance(configs, PaginatedList):
              configs = [configs]
          if not isinstance(disks, list) and not isinstance(disks, PaginatedList):
              disks = [disks]
          cids = [ c.id if issubclass(type(c), Base) else c for c in configs ]
          dids = [ d.id if issubclass(type(d), Base) else d for d in disks ]
          params = {
              "linode_id": to_linode.id if issubclass(type(to_linode), Base) else to_linode,
              "region": region.id if issubclass(type(region), Base) else region,
              "type": service.id if issubclass(type(service), Base) else service,
              "configs": cids if cids else None,
              "disks": dids if dids else None,
              "label": label,
              "group": group,
              "with_backups": with_backups,
          }
          result = self._client.post('{}/clone'.format(Instance.api_endpoint), model=self, data=params)
          if not 'id' in result:
              raise UnexpectedResponseError('Unexpected response cloning Instance!', json=result)
          l = Instance(self._client, result['id'], result)
          return l