type Options … // NewOptions returns default scheduler app options. func NewOptions() *Options { … } // ApplyDeprecated obtains the deprecated CLI args and set them to `o.ComponentConfig` if specified. func (o *Options) ApplyDeprecated() { … } // ApplyLeaderElectionTo obtains the CLI args related with leaderelection, and override the values in `cfg`. // Then the `cfg` object is injected into the `options` object. func (o *Options) ApplyLeaderElectionTo(cfg *kubeschedulerconfig.KubeSchedulerConfiguration) { … } // initFlags initializes flags by section name. func (o *Options) initFlags() { … } // ApplyTo applies the scheduler options to the given scheduler app configuration. func (o *Options) ApplyTo(logger klog.Logger, c *schedulerappconfig.Config) error { … } // Validate validates all the required options. func (o *Options) Validate() []error { … } // Config return a scheduler config object func (o *Options) Config(ctx context.Context) (*schedulerappconfig.Config, error) { … } // makeLeaderElectionConfig builds a leader election configuration. It will // create a new resource lock associated with the configuration. func makeLeaderElectionConfig(config componentbaseconfig.LeaderElectionConfiguration, kubeConfig *restclient.Config, recorder record.EventRecorder) (*leaderelection.LeaderElectionConfig, error) { … } // createKubeConfig creates a kubeConfig from the given config and masterOverride. // TODO remove masterOverride when CLI flags are removed. func createKubeConfig(config componentbaseconfig.ClientConnectionConfiguration, masterOverride string) (*restclient.Config, error) { … } // createClients creates a kube client and an event client from the given kubeConfig func createClients(kubeConfig *restclient.Config) (clientset.Interface, clientset.Interface, error) { … }