globus_gram_job_manager_rsl_validation_file(3) [debian man page]
globus_gram_job_manager_rsl_validation_file(3) globus gram job manager globus_gram_job_manager_rsl_validation_file(3)NAME
globus_gram_job_manager_rsl_validation_file - RSL Validation File Format The idea behind the RSL Validation file is to provide a mechanism
for job manager scheduler interfaces to implement RSL extensions, while having the job manager still be able to decide whether a job
request contains a valid RSL string.
In addition to indicating what RSL attributes are valid, the RSL validation file contains information about when the RSL attribute may be
used, it's default value, and the format of the attribute's value.
File Format
Comments
The RSL validation file may contain comments. Comments are indicated in the file by a line beginning with the # character. Comments
continue until end-of-line. Comments are discarded by the RSL Validation File parser.
Example:
# I am a comment. Ignore me.
ValidationRecords
The RSL validition file consists of a set of ValidationRecords. Each ValidationRecord consists of a number of ValidationProperties
associated with a single RSL attribute. ValidationRecords are separated by a blank line in the RSL validation file.
Validation Properties
A ValidationProperty is defined in the RSL validation file by a PropertyName and a PropertyValue. The syntax of a validation property is
simply the PropertyName followed by a colon character, followed by a PropertyValue.
If a PropertyValue begins with a double-quote, then it may span multiple lines. Double-quote characters within a multiline PropertyValue
must be escaped by a preceding backslash character. An unquoted PropertyValue ends at the first newline character.
Example:
Attribute: directory
Description: 'Specifies the path of the directory the jobmanager will
use as the default directory for the requested job.'
Defined PropertyNames
The following PropertyNames are understood by this version of the RSL validation file parser. Any unknown PropertyName will cause the
ValidationProprty to be ignored by the parser.
Attribute
The name of the RSL parameter to which this record refers.
Description
A textual description of what the RSL parameter means.
Default
The default value of the RSL parameter if it is not found in the RSL. The default value is only used if the DefaultWhen value matches
the current validation mode.
Values
A string containing whitespace-separated list of enumerated values which are valid for this RSL attribute. For example, for the
'dryrun' parameter, this may be 'yes no'.
RequiredWhen
Some subset of the 'when strings' (see below), indicating when the RSL parameter is required for the RSL to be valid.
DefaultWhen
Some subset of the 'when strings' (see below) indicating when then RSL's default value will be used if the RSL attribute is not present
in the RSL.
ValidWhen
Some subset of the 'when strings' (see below) indicating when then RSL attribute may be used.
'When' Strings
The set of when strings understood by the RSL validation file parser are
GLOBUS_GRAM_JOB_SUBMIT
The RSL attribute pertains to job submission.
GLOBUS_GRAM_JOB_MANAGER_RESTART
The RSL attribute pertains to job manager restart.
GLOBUS_GRAM_JOB_MANAGER_STDIO_UPDATE
The RSL attribute pertains to the STDIO_UPDATE signal.
Version 13.33 Mon Apr 30 2012 globus_gram_job_manager_rsl_validation_file(3)
Check Out this Related Man Page
RSL Memory Management(3) globus rsl RSL Memory Management(3)NAME
RSL Memory Management -
Functions
globus_rsl_t * globus_rsl_copy_recursive (globus_rsl_t *ast_node)
globus_rsl_value_t * globus_rsl_value_copy_recursive (globus_rsl_value_t *globus_rsl_value_ptr)
int globus_rsl_value_free (globus_rsl_value_t *val)
int globus_rsl_free (globus_rsl_t *ast_node)
int globus_rsl_value_free_recursive (globus_rsl_value_t *globus_rsl_value_ptr)
int globus_rsl_free_recursive (globus_rsl_t *ast_node)
int globus_rsl_value_list_literal_replace (globus_list_t *value_list, char *string_value)
int globus_rsl_value_eval (globus_rsl_value_t *ast_node, globus_symboltable_t *symbol_table, char **string_value, int
rsl_substitution_flag)
int globus_rsl_eval (globus_rsl_t *ast_node, globus_symboltable_t *symbol_table)
Function Documentation
globus_rsl_t* globus_rsl_copy_recursive (globus_rsl_t *ast_node)
Create a deep copy of an RSL syntax tree. The globus_rsl_copy_recursive() function performs a deep copy of the RSL syntax tree pointed to
by the ast_node parameter. All RSL nodes, value nodes, variable names, attributes, and literals will be copied to the return value.
Parameters:
ast_node An RSL syntax tree to copy.
Returns:
The globus_rsl_copy_recursive() function returns a copy of its input parameter that that can be used after the ast_node and its values
have been freed. If an error occurs, globus_rsl_copy_recursive() returns NULL.
globus_rsl_value_t* globus_rsl_value_copy_recursive (globus_rsl_value_t *globus_rsl_value_ptr)
Create a deep copy of an RSL value. The globus_rsl_value_copy_recursive() function performs a deep copy of the RSL value pointed to by the
globus_rsl_value_ptr parameter. All variable names, attributes, literals, and value lists will be copied to the return value.
Parameters:
globus_rsl_value_ptr A pointer to an RSL value to copy.
Returns:
The globus_rsl_value_copy_recursive() function returns a copy of its input parameter that that can be used after the
globus_rsl_value_ptr and its values have been freed. If an error occurs, globus_rsl_value_copy_recursive() returns NULL.
int globus_rsl_value_free (globus_rsl_value_t *val)
Free an RSL value node. The globus_rsl_value_free() function frees the RSL value pointed to by the val parameter. This only frees the RSL
value node itself, and not any sequence or string values associated with that node.
Parameters:
val The RSL value node to free.
Returns:
The globus_rsl_value_free() function always returns GLOBUS_SUCCESS.
int globus_rsl_free (globus_rsl_t *ast_node)
Free an RSL syntax tree node. The globus_rsl_free() function frees the RSL syntax tree node pointed to by the ast_node parameter. This only
frees the RSL syntax tree node itself, and not any boolean operands, relation names, or values associated with the node.
Parameters:
ast_node The RSL syntax tree node to free.
Returns:
The globus_rsl_value_free() function always returns GLOBUS_SUCCESS.
int globus_rsl_value_free_recursive (globus_rsl_value_t *globus_rsl_value_ptr)
Free an RSL value and all its child nodes. The globus_rsl_free_recursive() function frees the RSL value node pointed to by the
globus_rsl_value_ptr, including all literal strings, variable names, and value sequences. Any pointers to these are no longer valid after
globus_rsl_value_free_recursive() returns.
Parameters:
globus_rsl_value_ptr An RSL value node to free.
Returns:
The globus_rsl_value_free_recursive() function always returns GLOBUS_SUCCESS.
int globus_rsl_free_recursive (globus_rsl_t *ast_node)
Free an RSL syntax tree and all its child nodes. The globus_rsl_free_recursive() function frees the RSL syntax tree pointed to by the
ast_node parameter, including all boolean operands, attribute names, and values. Any pointers to these are no longer valid after
globus_rsl_free_recursive() returns.
Parameters:
ast_node An RSL parse tree to free.
Returns:
The globus_rsl_value_free_recursive() function always returns GLOBUS_SUCCESS.
int globus_rsl_value_list_literal_replace (globus_list_t *value_list, char *string_value)
Replace the first value in a value list with a literal. The globus_rsl_value_list_literal_replace() function replaces the first value in
the list pointed to by the value_list parameter with a new value node that is a literal string node pointing to the value of the
string_value parameter, freeing the old value.
Parameters:
value_list The RSL value list to modify by replacing its first element.
string_value The new string value to use as a literal first element of the list pointed to by the value_list parameter.
Returns:
Upon success, globus_rsl_value_list_literal_replace() returns GLOBUS_SUCCESS, frees the current first value of value_list and replaces
it with a new literal string node pointing to the value of the string_value parameter. If an error occurs,
globus_rsl_value_list_literal_replace() returns 1.
int globus_rsl_value_eval (globus_rsl_value_t *ast_node, globus_symboltable_t *symbol_table, char **string_value, intrsl_substitution_flag)
Evaluate RSL substitions in an RSL value node. The globus_rsl_value_eval() function modifies the value pointed to by its ast_node parameter
by replacing all RSL substitution variable reference nodes with the literal values those variables evaluate to based on the current scope
of the symbol table pointed to by the symbol_table parameter. It also combines string concatenations into literal string values. Any nodes
which are replaced by this function are freed using globus_rsl_value_free_recursive().
Parameters:
ast_node A pointer to the RSL value node to evaluate.
symbol_table A symbol table containing current definitions of the RSL substitutions which can occur in this evaluation scope.
string_value An output parameter which is set to point to the value of the string returned by evaluating the value node pointed to by
ast_node if it evaluates to a literal value. list pointed to by the value_list parameter.
rsl_substitution_flag A flag indicating whether the node pointed to by the ast_node parameter defines RSL substition variables.
Returns:
Upon success, globus_rsl_value_eval() returns GLOBUS_SUCCESS, and replaces any RSL substitution values in the node pointed to by the
ast_node parameter. If the node evaluates to a single literal, the string_value parameter is modified to point to the value of that
literal. If an error occurs, globus_rsl_value_eval() returns a non-zero value.
int globus_rsl_eval (globus_rsl_t *ast_node, globus_symboltable_t *symbol_table)
Evaluate an RSL syntax tree. The globus_rsl_eval() function modifies the RSL parse tree pointed to by its ast_node parameter by replacing
all RSL substitution variable reference nodes with the literal values those variables evaluate to based on the current scope of the symbol
table pointed to by the symbol_table parameter. It also combines string concatenations into literal string values. Any nodes which are
replaced by this function are freed using globus_rsl_value_free_recursive().
Parameters:
ast_node A pointer to the RSL syntax tree to evaluate.
symbol_table A symbol table containing current definitions of the RSL substitutions which can occur in this evaluation scope.
Returns:
Upon success, globus_rsl_eval() returns GLOBUS_SUCCESS, and replaces all RSL substitution values and concatenations in ast_node or its
child nodes with the evaluated forms described above. If an error occurs, globus_rsl_eval() returns a non-zero value.
Author
Generated automatically by Doxygen for globus rsl from the source code.
Version 9.1 Wed Jan 25 2012 RSL Memory Management(3)