Actions `cluster:admin/repository/analyze/blob` and `cluster:admin/repository/analyze/register` and so on are only invoked via the transport service, they do not need to register as client actions so we can drop the `ActionType` instance. Instead the root `RepositoryAnalyzeAction` should create and register all these transport actions itself. But even the root `RepositoryAnalyzeAction` should not be an `ActionType` derivative, we should just declare an `ActionType` instance directly. Moreover we can use `ActionType#localOnly` since the client action does not run on remote clusters.
x-pack/plugin/snapshot-repo-test-kit/src/main/java/org/elasticsearch/repositories/blobstore/testkit/GetBlobChecksumAction.java
+ checksum
                + ", firstByteNanos="
                + firstByteNanos
                + ", elapsedNanos="
                + elapsedNanos
                + ", throttleNanos="
                + throttleNanos
                + '}';
        }
        public long getBytesRead() {
            return bytesRead;
        }
        public long getChecksum() {
            return checksum;
        }
        public long getFirstByteNanos() {
            return firstByteNanos;
        }
        public long getElapsedNanos() {
            return elapsedNanos;
        }
        public long getThrottleNanos() {
            return throttleNanos;
        }
        public boolean isNotFound() {
            return bytesRead == 0L && checksum == 0L && firstByteNanos == 0L && elapsedNanos == 0L && throttleNanos == 0L;
        }
    }
}