def set_config_version()

in cli/src/klio_cli/utils/config_utils.py [0:0]


def set_config_version(config):
    msg_version = config.version
    if msg_version is None:
        logging.info(
            "No value set for 'version' in `klio-job.yaml`. Defaulting to "
            "version 1."
        )
        msg_version = 1

    try:
        msg_version = int(msg_version)

    except ValueError:
        logging.error(
            "Invalid `version` value in `klio-job.yaml`. Expected `int`, "
            "got `{}`".format(type(msg_version))
        )
        raise  # reraises ValueError

    if msg_version not in ALL_CONFIG_VERSIONS:
        logging.error(
            "Unsupported configuration `version` '{}'. Supported versions: "
            "{}".format(msg_version, ALL_CONFIG_VERSIONS)
        )
    if msg_version in DEPRECATED_CONFIG_VERSIONS:
        msg = (
            "Config version {} is deprecated and will be removed in a future "
            "release of klio. Please migrate to a supported "
            "version: {}".format(msg_version, SUPPORTED_CONFIG_VERSIONS)
        )
        logging.warning(msg)
        warnings.warn(msg, DeprecationWarning)

    config.version = msg_version
    return config