class_docstr: Service schema handler 
class_docstr_tok: ["Service","schema","handler"]
code: def _parse_action_versions(self, action_name, action_versions):
      def parse_version(action_version):
          try:
              return float(action_version)
          except (ValueError, TypeError) as ex:
              raise ValueError(
                  "Failed parsing version number {} ({}) in {}/{}".format(
                      action_version, ex.args[0], self.name, action_name
                  )
              )
  
      def add_internal(cfg):
          if "internal" in action_versions:
              cfg.setdefault("internal", action_versions["internal"])
          return cfg
  
      return {
          parsed_version: action
          for parsed_version, action in (
              (
                  parsed_version,
                  self._parse_action(
                      action_name, parsed_version, add_internal(cfg)
                  ),
              )
              for parsed_version, cfg in (
                  (parse_version(version), cfg)
                  for version, cfg in action_versions.items()
                  if version
                  not in ["internal", "allow_roles", "authorize"]
              )
          )
          if action
      }
  
imports: import itertools
  import re
  import attr
  import six
  from ...utilities.pyhocon import ConfigTree
  from .action import Action
label_desc: Use image node_id 10 for calling the Service obj's underlying member method code with example usage: obj._parse_action_versions(action_name, action_versions) and returns: unknown, cfg, float