class TensorFlowServiceSpec extends AbstractServiceSpec {

  @Override
  public ServiceWrapper create() throws IOException {
    LOG.info("Creating TensorFlow service spec");
    ServiceWrapper serviceWrapper = createServiceSpecWrapper();

    if (tensorFlowParameters.getNumWorkers() > 0) {
      addWorkerComponents(serviceWrapper, Framework.TENSORFLOW);
    }

    if (tensorFlowParameters.getNumPS() > 0) {
      addPsComponent(serviceWrapper);
    }

    if (tensorFlowParameters.isTensorboardEnabled()) {
      createTensorBoardComponent(serviceWrapper);
    }

    // After all components added, handle quicklinks
    handleQuicklinks(serviceWrapper.getService());

    return serviceWrapper;
  }

  public  TensorFlowServiceSpec(TensorFlowRunJobParameters parameters,
      ClientContext clientContext, FileSystemOperations fsOperations,
      TensorFlowLaunchCommandFactory launchCommandFactory,
      Localizer localizer);

}