def clone()

in src/hpc/autoscale/node/node.py [0:0]


    def clone(self) -> "Node":
        ret = Node(
            node_id=self.__node_id.clone(),
            name=self.name,
            nodearray=self.nodearray,
            bucket_id=self.bucket_id,
            hostname=self.hostname_or_uuid,
            private_ip=self.private_ip,
            instance_id=self.instance_id,
            vm_size=self.vm_size,
            location=self.location,
            spot=self.spot,
            vcpu_count=self.vcpu_count,
            memory=self.memory,
            infiniband=self.infiniband,
            state=self.state,
            target_state=self.target_state,
            power_state=self.state,
            exists=self.exists,
            placement_group=self.placement_group,
            managed=self.managed,
            resources=ht.ResourceDict(deepcopy(self._resources)),
            software_configuration=deepcopy(self.software_configuration),
            keep_alive=self.__keep_alive,
        )
        ret.available.update(deepcopy(self.available))
        ret.metadata.update(deepcopy(self.metadata))

        if not self.exists:
            ret.node_attribute_overrides.update(deepcopy(self.node_attribute_overrides))

        # for a_id in self.assignments:
        #     ret.assign(a_id)

        return ret