(self, config_type, config_name, attrs, tools)
return specification
Returns the specification for a configuration.

    Args:
      config_type: Type of configuration node.
      config_name: Configuration name.
      attrs: Dict of configuration attributes; may be None.
      tools: List of tools (strings or Tool objects); may be None.
    Returns:
Returns the specification for a configuration.
Returns the specification for a configuration .
def _GetSpecForConfiguration(self, config_type, config_name, attrs, tools):
    """Returns the specification for a configuration.

    Args:
      config_type: Type of configuration node.
      config_name: Configuration name.
      attrs: Dict of configuration attributes; may be None.
      tools: List of tools (strings or Tool objects); may be None.
    Returns:
    """
    # Handle defaults
    if not attrs:
      attrs = {}
    if not tools:
      tools = []

    # Add configuration node and its attributes
    node_attrs = attrs.copy()
    node_attrs['Name'] = config_name
    specification = [config_type, node_attrs]

    # Add tool nodes and their attributes
    if tools:
      for t in tools:
        if isinstance(t, Tool):
          specification.append(t._GetSpecification())
        else:
          specification.append(Tool(t)._GetSpecification())
    return specification
def _GetSpecForConfiguration ( self , config_type , config_name , attrs , tools ) : # Handle defaults if not attrs : attrs = { } if not tools : tools = [ ] # Add configuration node and its attributes node_attrs = attrs . copy ( ) node_attrs [ 'Name' ] = config_name specification = [ config_type , node_attrs ] # Add tool nodes and their attributes if tools : for t in tools : if isinstance ( t , Tool ) : specification . append ( t . _GetSpecification ( ) ) else : specification . append ( Tool ( t ) . _GetSpecification ( ) ) return specification