def _GetOptionDecoderConstructions()

in perfkitbenchmarker/configs/benchmark_config_spec.py [0:0]


  def _GetOptionDecoderConstructions(cls):
    """Gets decoder classes and constructor args for each configurable option.

    Returns:
      dict. Maps option name string to a (ConfigOptionDecoder class, dict)
      pair. The pair specifies a decoder class and its __init__() keyword
      arguments to construct in order to decode the named option.
    """
    result = super()._GetOptionDecoderConstructions()
    result.update({
        'static_dpb_service_instance': (
            option_decoders.StringDecoder,
            {'default': None, 'none_ok': True},
        ),
        'service_type': (
            option_decoders.EnumDecoder,
            {
                'default': dpb_constants.DATAPROC,
                'valid_values': [
                    dpb_constants.DATAPROC,
                    dpb_constants.DATAPROC_FLINK,
                    dpb_constants.DATAPROC_GKE,
                    dpb_constants.DATAPROC_SERVERLESS,
                    dpb_constants.DATAFLOW,
                    dpb_constants.EMR,
                    dpb_constants.EMR_SERVERLESS,
                    dpb_constants.GLUE,
                    dpb_constants.UNMANAGED_DPB_SVC_YARN_CLUSTER,
                    dpb_constants.UNMANAGED_SPARK_CLUSTER,
                    dpb_constants.KUBERNETES_SPARK_CLUSTER,
                    dpb_constants.KUBERNETES_FLINK_CLUSTER,
                ],
            },
        ),
        'worker_group': (vm_group_decoders.VmGroupSpecDecoder, {}),
        'worker_count': (
            option_decoders.IntDecoder,
            {'default': dpb_constants.DEFAULT_WORKER_COUNT, 'min': 0},
        ),
        'applications': (_DpbApplicationListDecoder, {}),
        'version': (
            option_decoders.StringDecoder,
            {'default': None, 'none_ok': True},
        ),
        'gke_cluster_name': (
            option_decoders.StringDecoder,
            {'default': None, 'none_ok': True},
        ),
        'gke_cluster_nodepools': (
            option_decoders.StringDecoder,
            {'default': None, 'none_ok': True},
        ),
        'gke_cluster_location': (
            option_decoders.StringDecoder,
            {'default': None, 'none_ok': True},
        ),
        'dataflow_max_worker_count': (
            option_decoders.IntDecoder,
            {
                'default': None,
                'none_ok': True,
            },
        ),
        'dataproc_serverless_core_count': (
            option_decoders.IntDecoder,
            {
                'default': None,
                'none_ok': True,
            },
        ),
        'dataproc_serverless_initial_executors': (
            option_decoders.IntDecoder,
            {'default': None, 'none_ok': True},
        ),
        'dataproc_serverless_min_executors': (
            option_decoders.IntDecoder,
            {'default': None, 'none_ok': True},
        ),
        'dataproc_serverless_max_executors': (
            option_decoders.IntDecoder,
            {'default': None, 'none_ok': True},
        ),
        'dataproc_serverless_memory': (
            option_decoders.IntDecoder,
            {'default': None, 'none_ok': True},
        ),
        'dataproc_serverless_driver_memory': (
            option_decoders.IntDecoder,
            {'default': None, 'none_ok': True},
        ),
        'dataproc_serverless_executor_memory': (
            option_decoders.IntDecoder,
            {'default': None, 'none_ok': True},
        ),
        'dataproc_serverless_off_heap_memory': (
            option_decoders.IntDecoder,
            {'default': None, 'none_ok': True},
        ),
        'dataproc_serverless_runtime_engine': (
            option_decoders.EnumDecoder,
            {
                'valid_values': ('default', 'native'),
                'default': 'default',
            },
        ),
        'dataproc_serverless_memory_overhead': (
            option_decoders.IntDecoder,
            {'default': None, 'none_ok': True},
        ),
        'emr_serverless_executor_count': (
            option_decoders.IntDecoder,
            {'default': None, 'none_ok': True},
        ),
        'emr_serverless_core_count': (
            option_decoders.IntDecoder,
            {'default': None, 'none_ok': True},
        ),
        'emr_serverless_memory': (
            option_decoders.IntDecoder,
            {'default': None, 'none_ok': True},
        ),
    })
    return result