Each resource descriptor is made up of a list of attributes, and ends in a blank line. Each attribute in the attribute list has a name and an optional list of values. The attribute name is separated from the attribute values by a colon (:), attribute values are separated by commas (,), and attributes are separated by semicolons (;). A comma at the end of a line continues the line, as does a back-slash (\) character. The back-slash character can also be used to escape the special meaning of a single character (such as comma, semicolon, double quote, and back-slash), or the string can be included in quotes. A line beginning with a pound-sign (#) is a comment and the rest of the line is ignored. The end of a resource attribute list is marked with a blank line.
The attribute name and values can contain any printable character. Upper and lower case is ignored on comparisons, and extra white space is ignored on both ends but not in the middle of names and values. For example,
Below is an example which includes two resources. The first resource has eight attributes: type, name, server, schedule, directive, group, save set, and remote access. The group attribute has two values: marketing and sales. The remote access attribute has no value. The second example includes an attribute that needs quotes because it contains a colon.
type: NSR client; name: venus; server: mars; schedule: Default; directive: custom; group: marketing, sales; save set: /, /usr; remote access: ; type: NSR group; name: engineering servers; autostart: Enabled; start time: "3:33";
Each resource includes the special attribute type. The type attribute defines which other attributes a resource can contain. For example, a resource with type printer might include an attribute paper size, while in a resource of type NFS filesystem this attribute makes no sense. The type attribute is case sensitive and must be used exectly as described. For example, a type "NSR group" is different from "nsr group".
The name attribute is a descriptive name of the object that a resource represents. In the example above, the name of the second resource is engineering servers, which describes a group of machines to be saved together.
The administrator attribute is the list of users that have permission to modify this resource. This attribute is inherited from the server resource when a new resource is created. The administrator in the server resource also controls who has permission to create new resources and delete old ones.
The resource identifier is set and used internally by the RAP system. It provides a unique identification of each resource, and although it is sometimes printed like an attribute, it is stored differently. When new resources are created the resource identifier attribute should be left off. This signals the system that this is a new resource and a new identifier will be assigned.
Type descriptors are used internally, and should normally never be stored in files or seen by administrators. For each of the other attributes in a type descriptor, there are three or more values. The first value gives the base type, the second value gives a list of flags separated by spaces, the third value is a string for on-line help, and any subsequent strings are default values. This type information is used by system administration tools to improve the user interface.