public NodeResources withUnspecifiedFieldsFrom(NodeResources fullySpecified) {
        var resources = this;
        if (resources.vcpuIsUnspecified())
            resources = resources.withVcpu(fullySpecified.vcpu());
        if (resources.memoryIsUnspecified())
            resources = resources.withMemoryGiB(fullySpecified.memoryGiB());
        if (resources.diskIsUnspecified())
            resources = resources.withDiskGb(fullySpecified.diskGb());
        if (resources.bandwidthGbpsIsUnspecified())
            resources = resources.withBandwidthGbps(fullySpecified.bandwidthGbps());
        if (resources.diskSpeed() == DiskSpeed.any)
            resources = resources.with(fullySpecified.diskSpeed());
        if (resources.storageType() == StorageType.any)
            resources = resources.with(fullySpecified.storageType());
        if (resources.architecture() == Architecture.any)
            resources = resources.with(fullySpecified.architecture());
        assert fullySpecified.gpuResources() == GpuResources.zero : "Not handled";
        return resources;
    }
Returns the standard cost of these resources, in dollars per hour
config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java