Interface ClusterClientFactory<ClusterID>

All Known Implementing Classes:
AbstractContainerizedClusterClientFactory, StandaloneClientFactory

@Internal public interface ClusterClientFactory<ClusterID>
A factory containing all the necessary information for creating clients to Flink clusters.
  • Method Details

    • isCompatibleWith

      boolean isCompatibleWith(org.apache.flink.configuration.Configuration configuration)
      Returns true if the current ClusterClientFactory is compatible with the provided configuration, false otherwise.
    • createClusterDescriptor

      ClusterDescriptor<ClusterID> createClusterDescriptor(org.apache.flink.configuration.Configuration configuration)
      Create a ClusterDescriptor from the given configuration.
      Parameters:
      configuration - containing the configuration options relevant for the ClusterDescriptor
      Returns:
      the corresponding ClusterDescriptor.
    • getClusterId

      @Nullable ClusterID getClusterId(org.apache.flink.configuration.Configuration configuration)
      Returns the cluster id if a cluster id is specified in the provided configuration, otherwise it returns null.

      A cluster id identifies a running cluster, e.g. the Yarn application id for a Flink cluster running on Yarn.

      Parameters:
      configuration - containing the configuration options relevant for the cluster id retrieval
      Returns:
      Cluster id identifying the cluster to deploy jobs to or null
    • getClusterSpecification

      ClusterSpecification getClusterSpecification(org.apache.flink.configuration.Configuration configuration)
      Returns the ClusterSpecification specified by the configuration and the command line options. This specification can be used to deploy a new Flink cluster.
      Parameters:
      configuration - containing the configuration options relevant for the ClusterSpecification
      Returns:
      the corresponding ClusterSpecification for a new Flink cluster
    • getApplicationTargetName

      default Optional<String> getApplicationTargetName()
      Returns the option to be used when trying to execute an application in Application Mode using this cluster client factory, or an Optional.empty() if the environment of this cluster client factory does not support Application Mode.