class_docstr: This is a lightweight stateless class that bundles together instantiation utils.
  It is used both on its own and as a mixin to AxClient, with the intent that
  these methods can be overridden by its subclasses for specific use cases.
class_docstr_tok: ["This","is","a","lightweight","stateless","class","that","bundles","together","instantiation","utils",".","It","is","used","both","on","its","own","and","as","a","mixin","to","AxClient",",","with","the","intent","that","these","methods","can","be","overridden","by","its","subclasses","for","specific","use","cases","."]
docstr: This will create a single objective OptimizationConfig based on the
  objective_name arg.  The return is optional because in subclasses
  we may not wish to return any default optimization config
docstr_tok: ["This","will","create","a","single","objective","OptimizationConfig","based","on","the","objective_name","arg",".","The","return","is","optional","because","in","subclasses","we","may","not","wish","to","return","any","default","optimization","config"]
code: def _make_optimization_config_from_legacy_args(
      cls,
      objective_name: str,
      minimize: bool = False,
      support_intermediate_data: bool = False,
      outcome_constraints: Optional[List[str]] = None,
      status_quo_arm: Optional[Arm] = None,
  ) -> Optional[OptimizationConfig]:
      """This will create a single objective OptimizationConfig based on the
      objective_name arg.  The return is optional because in subclasses
      we may not wish to return any default optimization config
      """
      return OptimizationConfig(
          objective=Objective(
              metric=cls._make_metric(
                  name=objective_name,
                  lower_is_better=minimize,
                  metric_class=MapMetric
                  if support_intermediate_data
                  else Metric,
                  for_opt_config=True,
              ),
              minimize=minimize,
          ),
          outcome_constraints=cls.make_outcome_constraints(
              outcome_constraints=outcome_constraints or [],
              status_quo_defined=status_quo_arm is not None,
          ),
      )
  
imports: import enum
  from dataclasses import dataclass
  from logging import Logger
  from typing import Any, Dict, List, Optional, Sequence, Type, Union
  from ax.core.arm import Arm
  from ax.core.experiment import DataType, DEFAULT_OBJECTIVE_NAME, Experiment
  from ax.core.map_metric import MapMetric
  from ax.core.metric import Metric
  from ax.core.objective import MultiObjective, Objective
  from ax.core.observation import ObservationFeatures
  from ax.core.optimization_config import MultiObjectiveOptimizationConfig, ObjectiveThreshold, OptimizationConfig
  from ax.core.outcome_constraint import OutcomeConstraint
  from ax.core.parameter import ChoiceParameter, FixedParameter, Parameter, PARAMETER_PYTHON_TYPE_MAP, ParameterType, RangeParameter, TParameterType
  from ax.core.parameter_constraint import OrderConstraint, ParameterConstraint
  from ax.core.search_space import HierarchicalSearchSpace, SearchSpace
  from ax.core.types import ComparisonOp, TParameterization, TParamValue
  from ax.exceptions.core import UnsupportedError
  from ax.utils.common.constants import Keys
  from ax.utils.common.logger import get_logger
  from ax.utils.common.typeutils import checked_cast, checked_cast_optional, checked_cast_to_tuple, not_none
label_desc: Use image node_id 19 for calling the InstantiationBase obj's underlying member method code with example usage: obj._make_optimization_config_from_legacy_args(cls, objective_name, minimize, support_intermediate_data, outcome_constraints, status_quo_arm) and returns: OptimizationConfig