def _validate_yaml_config()

in tools/tags_validator.py [0:0]


  def _validate_yaml_config(self, loaded_yaml: Mapping[str, Any]) -> None:
    """Ensures that the URL tag file is valid.

    Args:
      loaded_yaml: Loaded YAML, which is a result of yaml.load().

    Raises:
      TagDefinitionError:
        - if no required `format` field is set.
        - if an unsupported key is set.
        - if the `format` field is set to an unsupported value.
    """
    missing_keys = self.required_top_keys - set(loaded_yaml.keys())
    if missing_keys:
      raise TagDefinitionError(
          f"Missing required top-level keys: {missing_keys}.")

    unsupported_keys = set(loaded_yaml.keys()) - self.supported_top_keys
    if unsupported_keys:
      raise TagDefinitionError(
          f"Unsupported top-level keys: {unsupported_keys}.")

    format_value = loaded_yaml[FORMAT_KEY]
    if format_value not in SUPPORTED_FORMATS:
      raise TagDefinitionError(
          f"Expected 'format' value to be one of {set(SUPPORTED_FORMATS)} "
          f"but was '{format_value}'.")