NAME dcecp - An administrative interface for performing DCE management tasks. The interface accepts interactive commands and scripts written with the dcecp language. SYNOPSIS dcecp dcecp script_name dcecp -c command ARGUMENTS script_name The script_name is the filename of a user-defined script containing dcecp commands. -c command The command is a valid dcecp command. For a description of the dcecp command format, see "Administration Objects," below. DESCRIPTION The dcecp control program is the primary DCE administration interface, providing remote access to routine DCE administrative functions from any DCE Version 1.1 platform. The dcecp control program is built on a portable command language called the Tool Command Language (Tcl). Tcl allows the use of variables, if statements, list processing functions, loop functions and many other features commonly found in command languages. The control program extends these features providing a set of commands for manipulating specific DCE objects. The control program also includes task scripts to help administrators perform some routine DCE management functions. Refer to the DCE Administration Guide Core Volume for information about the basic concepts and features of dcecp. All of TCL is included in the dcecp language. INVOKING AND TERMINATING DCECP The dcecp control program allows you to invoke dcecp commands in the following modes: + Interactive mode + Command line mode Interactive Mode Activate interactive mode by entering the dcecp command without any arguments . At the dcecp prompt enter a dcecp command. The dcecp program executes the command, displays the result, and is ready to accept another command. $ dcecp dcecp> directory list /.: -directories /.:/hosts /.:/subsys dcecp> Command Line Mode Activate command line mode from the system prompt using one of the following methods: + Enter the dcecp command with a filename of a script containing dcecp commands (and/or other valid Tcl commands) as follows: $ dcecp myown.Tcl + Enter the dcecp command with the -c option followed by a dcecp command. $ dcecp -c directory create /.:/admin/printers Enter multiple dcecp commands by separating them with a semicolon (;) and enclosing the commands in double quotes (""). Remember to enclose case sensitive characters double quotes. Multiple commands must be on a single line as follows: $ dcecp -c "directory create /.:/admin/printers;directory show" Terminate an interactive dcecp session using the exit and quit commands. Use the following command syntax: exit n quit Use the n argument to specify the exit value returned to DCL. If no value is specified, exit passes the return value of the most recent command to DCL. The following example terminates a session and returns an exit value of 56 to the DCL: dcecp> exit 56 By default, dcecp returns 1 on success and %X00038008 if a command fails. STARTUP SCRIPTS When you invoke dcecp the following script files are executed in the order shown: tcl$library:init.tcl contains the standard Tcl initialization scripts with definitions for the unknown command and the auto_load facility "$dcecp_library/init.dcecp" contains the initialization scripts implementing the dcecp commands and tasks. The implementation sets the Tcl variable dcecp_library to dceshared/dcecp by default. $HOME/.dcecprc contains user customizations. ADMINISTRATION OBJECTS A dcecp command has the following syntax: object operation [argument] [-option [value]] ... where: object Specifies the name of a dcecp administration object. Examples of administration objects are CDS directories, access control lists (ACLs), DTS servers, server control objects, and so on. Each administration object is briefly described below. operation Specifies the name of an action such as create, show, or remove, that is to be performed on an administration object. For complete descriptions of operations supported by each dcecp object, refer to individual object reference pages. Common operations are briefly described below. argument Specifies the name of one or more specific objects to operate on. Most, but not all, dcecp objects take an argument. Refer to the individual reference pages for descriptions of the arguments supported by various objects. -option Specifies a qualifier that controls the precise behavior of a dcecp command. Most, but not all, dcecp commands take options. Specify options by preceeding the option name with a hyphen as in -replica. Some options take an argument that can be a name or a value. The following example shows a -clearinghouse option and its argument which is the name of a CDS clearinghouse. directory create /.:/admin -clearinghouse /.:/boston_ch The dcecp program supports the following dcecp administration objects. For complete descriptions of the administration objects, refer to the individual object reference pages. account Manages an account in the DCE Security Service registry. acl Creates, modifies, and removes access control lists. attrlist Manipulates attribute lists. aud Manages the audit daemon (auditd) on a DCE host. audevents Manages audit event classification on a DCE host. audfilter Manages audit event filters on a DCE host. audtrail Controls the output format for audit events captured on a DCE host. cdsalias Manages cell names known to CDS. cdscache Manages the CDS clerk cache on a DCE host. cell Manages cell configuration information. cellalias Manages cell names across all of DCE. clearinghouse Manages CDS clearinghouse operations in a DCE cell. clock Manages the clock on a local DCE host. directory Manages directories in the DCE Cell Directory Service. dts Manages Distributed Time Service servers and clerks. endpoint Manages endpoint information in a DCE host's endpoint map. group Manages groups in the DCE Security Service registry. host Manages hosts within a cell. hostdata Manages a DCE host's principal name and cell affiliation information on the host. keytab Manages server passwords on DCE hosts. link Manages softlinks in the DCE Cell Directory Service. log Manages routing for DCE serviceability messages. name Manipulates names in the DCE namespace. object Manages object entries in the DCE Cell Directory Service. organization Manages organizations in the DCE Security Service regis- try. principal Manages principals in the DCE Security Service registry. registry Manages the database of a DCE Security Service registry. rpcentry Manages a server entry stored in the DCE Cell Directory Service. rpcgroup Manages a group entry stored in the DCE Cell Directory Service. rpcprofile Manages a profile entry stored in the DCE Cell Directory Service. schema Manages the schema information for extended registry attributes. secval Manages the security validation service in dced. server Manages servers and their configuration information on DCE hosts. user Manages a DCE user. utc Manipulates UTC timestamps. uuid Manipulates (generate or compare) UUID's. COMMON OPERATIONS This section gives a description of operations that are common to more than one object. Some operations presented here are implemented in all objects, some in only a few, and some only for specific types of objects such as containers (for instance, CDS directories). The descriptions in the sections on individual objects may override some of the information presented here. Usually this is only in the form of an operation accepting more options, but other changes are possible. add Adds an object to a container. It is implemented for all objects that represent containers. Returns an empty string on success. The argument is a list of names of containers. The required -member option is used to specify the name of the member to be added to the containers. It's value is a list of members to be added. If lists are specified for both the -member option and as the argument, then each member name is added to each container. For example it is used to add a member to an RPC group, and is used to add an element to an RPC profile. catalog Returns the names of all instances of an object. It usually takes no argument. In some cases, though, an argument specifying a scope, such as a cellname, is optional. For example, the principal catalog command returns a list of all principals in the registry. Only implemented by those objects for which this is possible. By default, fullnames are returned. Some objects will support a -simplename option which will return names in a shorter form (either relative or not fully qualified). The order of the returned list depends on the object. create Creates a new instance of an object. Takes one argument which a list of names of instances to be created. Returns an empty string on success. Returns an error if the object already exists. For some objects this command takes a -attribute option or a set of attribute options to create attributes on the new object. delete Destroys an instance of the object. Takes one argument which a list of names of instances to be deleted. Returns an empty string on success. If the object does not exist, an error is returned. help Returns help information on the object as described in the Help System section. Takes an argument which may be an operation supported by the object or the -verbose option to return more information. list Returns a list of the names of all the members of a container. This operation returns names of members, never any other (e.g., attribute) information about the members. It is implemented on all objects that represent containers. The argument is a list of names of containers to return the children of. The order of the returned list is dependent on the object. If more than one container name is given as an argument, all the member names are returned in one list. modify This operation is used to modify attributes, policies, counters, or any other information in an object. This fact means that all attributes, policies, counters, etc. in any one object must have unique names. It will not be available to all objects. Returns an empty string on success. The argument is a list of names of objects to modify. All objects are modified in the same way. The specific modification is described by the use of one or more of the -add, -remove, or -change options. If more than one is used, then the whole modify operation is treated atomically in that either it all will work, or none of it will. The order of the options does not matter. Each option may only be used once per command invocation. If more then one attribute is to be added, then the value of that option should be an attribute list. -add Used to add an attribute to an object or merely to add values to an existing attribute. The value of this option is an attribute list. -remove Used to remove an entire attribute or merely some values from an object. The value of this option is an attribute list. -change Used to change one attribute value to another. The value of this option is an attribute list. operations Returns a list of the operations supported by the object. It takes no arguments, and always returns a Tcl list suitable for use in a foreach statement. The order of the elements is alphabetical with the exception that help and operations are listed last. If the user wants them sorted they should use: lsort [object operations] remove Removes an object from a container. It is implemented for all objects that represent containers. The argument is a list of names of containers. The remove command requires one option, -member, which is used to specify the name of the member to be removed from the container. The value is a list of names of members of the containers. If the value of this option and the argument to the command are both lists, then each listed member is removed from each specified container. If the members do not exist an error is returned. rename This operation changes the name of a specified object. The argument is a single name of an object to be renamed, i.e., it cannot be a list. Takes a required -to option with a value of the new name. The value may not be a list. Returns an empty string on success. show Returns information about an object instance. Objects can have various types of information such as attributes, counters, policies, etc. The show command is used to return any of this information. Options are passed to the command to specify what information is to be returned. Most of the options used for this purpose are in the plural form such as -all, -attributes, -counters, and -members. Unlike the list command which returns information about the members of a container, the show command only looks at the named object instance. If it is a container, it does not return information about the members, only the container itself. This command takes one argument which is a list of names of instances to be shown. synchronize Tells the instance to synchronize with any replicas of itself. In CDS terminology this will perform a skulk on a directory, in DTS it will cause a server to synchronize. It is to be implemented for all objects that support replication. Returns an empty string on success. The argument is a list of instance names to synchronize. If more than one instance name is given then each instance synchronizes, there is no relationship such as synchronize with each other, as this doesn't make sense for many objects. MISCELLANEOUS COMMANDS The dcecp program includes a set of commands you can use for performing miscellaneous operations. dcecp_initInterp This command will initialize a base Tcl interpreter with all the dcecp commands. errtext Takes a DCE status code as an argument and returns the text of the associated message as found in the message catalogs. The argument can be in decimal, octal (leading 0), or hexadecimal (leading 0x) notation. expand Takes a DCE name as an argument and returns the canonical form of the name. login Creates a new login context to be used for the rest of the dcecp session. Sets convenience variables _c and _u to the cell name and principal name of the principal that issued the login command. Convenience variables are discussed in a separate section of this reference page. Login contexts are stacked. Takes an account name as an argument. The password is prompted for and not echoed to the screen. Also takes the -password option to enter a password. logout Logs you out of the current login context as established with a previous login command. Only contexts created with dcecp's login can be logged out of. Trying to logout of an inherited context results in an error. Leaving dcecp will do a logout for all contexts created in the session. quit Exits from dcecp. A synonym of the Tcl builtin command exit. resolve Takes a partial string binding and returns a fully bound string binding. Takes a require -interface option and an optional -object option with an interface identifier as an argument to provide enough information for the mapping to occur. shell Spawns a subprocess to execute an OpenVMS command for the user. When the command terminates, control is returned to dcecp. If called with arguments, they are passed to the subprocess and executed. Control is returned upon completion. Always returns an emptry string, though an error exception is generated if the subprocess exits abnormally. COMMAND PROCESSING The dcecp control program supports the Tcl built-in commands as well as its own commands. If a command name is unknown to dcecp, it is passed to the unknown command and dcecp evaluates it using the following algorithm: + If the command is found in a dcecp script file, dcecp executes the command + If the command exists as an executable OpenVMS program, dcecp executes the command. Therefore, you can invoke any OpenVMS command from the dcecp prompt (for example, DIRECTORY). Because you don't leave dcecp, you don't lose any context you have established. + If you have invoked the command at the top level of the dcecp shell and the command is a unique abbreviation for another command, dcecp invokes the command. ABBREVIATIONS dcecp makes use of two mechanisms to allow all object names, operation names, and options to be abbreviated to the shortest unique string in interactive commands. The first mechanism relies on the unknown command whose behavior is described previously in the Command Processing section of this reference page. The second mechanism used for abbreviations is built-in to the individual dcecp commands themselves. This allows the operation name to be abbreviated to the shortest unique operation supported for an object, and the options to be abbreviated to the shortest unique string representing an option supported by an object and operation. For example, consider the directory create operation: directory create /.:/admin/printers/ascii -replica -clearinghouse SFO_CH In the abbreviated form, the same operation can be entered as: dir cre /.:/admin/printers/ascii -r -c SFO_CH Although abbreviating commands is a good way to save typing in interactive commands, abbreviations are not recommended for use in scripts. New procedures in scripts can cause abbreviations to become ambiguous. Furthermore, abbreviations aren't always portable. When scripts move to other machines, some definitions may be left behind so scripts won't work correctly. Always spell out complete names in scripts. SYNTAX The dcecp commands have a default word order which is object operation. This order facilitates adding new objects because new objects can simply be added along with their operations. You can configure dcecp to accept commands ordered as operation object by loading a script called verb-object.dcecp. Users who have access to the operation object order continue to have access to the object operation order. You can load the script for all users on a host by including the following line in the system's init.dcecp file: source verb-object.dcecp You can configure operation object for individual users by including the line in that user's .dcecprc file. ATTRIBUTE LISTS Many of the commands need to specify attributes to operate upon. For example, the modify command allows attributes to be changed and the create command often allows attributes to be created along with the object. In all cases, you can use an attribute list to specify the attributes and their values. This makes passing information from one command to another very easy. For example, an ACL copy operation could be written as follows: # copy acl name1 to acl name2 # no error checking proc acl_copy {name1 name2} { acl replace $name2 -acl [acl show $name1] } ATTRIBUTE OPTIONS While attribute lists are useful for writing scripts, they are often not user-friendly. For those objects that have a fixed list of attributes (for instance, principal and dts, but not object), wherever an attribute list is allowed, options for each attribute that are named the same as the attribute are allowed followed by their values. For example, the following are equivalent: principal create melman -attribute {{quota 5} {uid 123}} principal create melman -quota 5 -uid 123 LISTS OF LISTS The dcecp control program intrepreter relies on list structures as a way to parse command input and return command output. For instance, the -remove option in the following example uses a list to group the attribute and value parts of the option argument together. The example is a command that removes some ACL's from an object called /.:/foo: acl modify /.:/foo -remove {user melman} The argument to the -remove option is an ACL Entry. The ACL Entry happens to be a list where the first element describes the ACL Type, in this case user, and the second is the key for which user, in this case melman. However, the -remove option may take a list of ACL Entries, so the following is valid as well: acl modify /.:/foo -remove {{user melman} {user salamone}} Lists of one value that do not contain spaces, do not need braces. The string syntax of an ACL Entry allows the type and key to be separated by a colon (:), so the following are valid: acl modify /.:/foo -remove user:melman acl modify /.:/foo -remove {user:melman user:salamone} If there is only one ACL Entry given, that is, the -remove option's value has only one element (and that element does not contain spaces), then braces are not needed to delimit the list. The following are all valid, but all are examples with unnecessary braces: acl modify /.:/foo -remove {{user melman}} acl modify /.:/foo -remove {{{user melman}}} acl modify /.:/foo -remove {user:melman} acl modify /.:/foo -remove {{user:melman} {user:salamone}} CONVENIENCE VARIABLES All dcecp commands will set several variables on execution. The variables will contain the name of the object operated on, the return value of the last command, the cell name of the last object operated on, and so on. You can substitute the value of these variables into the next command to save typing. Convenience variables behave just like other variables in dcecp. Thus you can trigger variable substitution by prepending a dollar sign ($) before the name of the variable. Alternatively, you can trigger substitution using the set. The dcecp program ensures that the convenience variables are set only by the program; it prevents users from changing these variables. The dcecp program defines the following variables: _b Holds the name of the server bound to for the last command. This is actually a Tcl array where the indexes are used to identify the service. Currently there is only one defined index: sec. The value specifies the name of a server in whatever manner the service finds useful. This could be the name of an RPC server entry in the namespace, or a string binding, or the name of a cell. This variable may not be set by the user. _c Holds the cellname of the current principal. The login commmand sets the cell name (_c) and principal name (_u) convenience variables at login (see the login command). Users can set this variable to change the current login context. command. _n Holds a list of the names entered to the last command. These names are the names that the command operated on, typically entered as the third argument. Examples follow: dcecp> dir list /.: -simplename hosts subsys absolut_ch cell-profile fs lan-profile sec \ sec-v1 dcecp> echo $_n /.: dcecp> dir create {/.:/x /.:/y} dcecp> echo $_n /.:/x /.:/y _o Holds the object used in the last operation. For example, if the last command was dir show /.:, then _o is directory. _p Holds the parent of _n. If _n is a list, then this is a list of the same length, where each element is the parent of the corresponding element in _n. _r Holds the return value of the last executed command. _s Holds the name of the server bound to for the last command. This is actually a Tcl array where the indexes are used to identify the service. The currently defined indexes are: sec, cds, dts, and aud. The value specifies the name of a server in whatever manner the service finds useful. This could be the name of an RPC server entry in the namespace, or a string binding, or the name of a cell. Users can set this variable by issuing the set command. This lets users select which server is used. The values of this variable (array) are treated differently by each service. For example, the security service uses this variable to display the registry bound to for the last command, and is used as a default for the next registry operation. If bound to a read-only replica and an update is requested, dcecp will try to bind to the master registry to perform the change. The CDS service only attempts to communicate with the CDS server named by the variable. If the named CDS server cannot satisfy a request for any reason, the request fails. The auditing service and DTS uses its variable in a similar manner to the CDS server. To contact an audit daemon or DTS server on another host, set this variable to identify that server. For information about an object's use of this variable, see the object's reference page or use the object's help -verbose operation. _u Holds the current principal name. The login commmand sets the cell name (_c) and principal name (_u) convenience variables at login (see the login command). Users can set this variable to change the current login context. command. ERROR HANDLING All commands in dcecp return either a list of some information or an empty string on success. If an error occurs, dcecp returns an error message. The dcecp program also provides a catch command to help scripts catch errors and invoke error handlers. The dcecp program provides two global variables that store error information returned from commands. The errorInfo variable contains the stacktrace of the error messages. When errors occur dcecp commands return one line error messages by default. If the variable dcecp_verbose_errors is set to 1, then a stack trace as it would appear in errorInfo is output as well. When a dcecp command argument is a list of objects, the command operates on multiple objects. These operations are usually performed iteratively. If an error occurs, the command aborts at the time of error producing an exception. Some operations will have finished and others will not have. The operations are always performed in the order listed, and the error message should make it clear on which object the command failed. HELP The dcecp program provides several kinds of help. All return help strings obtained from appropriate message catalogs. To see which operations an object supports, enter an object operations command. All dcecp objects support the operations command. An example is: dcecp> principal operations catalog create delete modify rename show help operations dcecp> This provides simple help similar to usage messages found on many systems. Users unsure of an operation name or if an operation is supported by an object can use this command to find the answer. The output is a dcecp list that could be used by other dcecp commands. To see other information about an object, use an object's help command. All dcecp objects have a help command which offers three kinds of information. + View brief information about an object's operations using help without arguments or options. Operations are listed in alphabetical order, with the operations and help commands listed last because all objects support these commands. An example is: dcecp> principal help catalog Returns all the names of principals in the registry. create Creates a DCE principal. delete Deletes a principal from the registry. modify Changes the information about a principal. rename Renames the specified principal. show Returns the attributes of a principal. help Prints a summary of command-line options. operations Returns a list of the valid operations for this command. dcecp> + View brief information about options supported by an operation using help with one argument-the name of the operation. This command returns attribute options in alphabetic order followed by other options also in alphabetic order as well. If no options are supported, an empty string is returned. An example is: dcecp> principal help create -alias Indicates the principal name is an alias of the uid. -attribute Specify principal attributes in an attribute list format. -fullname Fullname of the principal. -quota How many registry objects can the principal create. -uid User Identifier of the new principal. -uuid Orphaned UUID to be adopted by the principal. dcecp> + View a short description of a dcecp object using the help command with the -verbose option. This command returns text explaining what the object represents and how to use it. An example is: dcecp> principal help -verbose This object allows manipulation of principal information stored in the DCE registry. The argument is a list of either relative or fully-qualified principal names. Specify fixed attributes using attribute options or an attribute list. Specify any extended attributes using an attribute list. Principal operations connect to a registry that can service the request. Specify a particular registry by setting the _s(sec) convenience variable to be a cell-relative or global replica name, or the binding of the host where the replica exists. The completed operation sets _b(sec) convenience variable to the name of the registry contacted. dcecp> COMMAND LINE EDITING You can edit a line before it is sent to dcecp by using standard OpenVMS command line editing. COMMAND HISTORY AND COMMAND LINE RECALL The dcecp program includes a history facility that stores previously entered commands. View the stored commands using the history command. By default, the history facility stores the 20 most recent commands but you can use a history keep command to change this as in: dcecp> history keep 50 dcecp> Each stored command is numbered so you can recall it using an exclamation point (!) followed by the event number. dcecp> !7 WHATEVER EVENT 7 WAS... dcecp> Recall a specific command using an exclamation point (!) followed by the first unique characters of a previously entered command dcecp> !dir WHATEVER EVENT dir WAS... dcecp> You can also recall and revise the most recent command using the uparrow and command line editing familiar to OpenVMS users. dcecp> directory vreate /.:/admin/printers <error message> dcecp> ^vreate dcecp> create [ COMMAND OUTPUT ] EXAMPLES INVOCATIONS The following examples show some ways to issue dcecp commands. + Invoke dcecp for interactive use. $ dcecp dcecp> + Invoke dcecp for a single command. $ dcecp -c clock show 1994-04-21-19:12:42.203+00:00I----- $ + Invoke dcecp and run a script. $ dcecp get_users.Tcl $ SIMPLE OBJECT COMMANDS dcecp> acl show -ic /.: {unauthenticated r--t---} {group subsys/dce/cds-admin rwdtcia} {group subsys/dce/cds-server rwdtcia} {any_other r--t---} dcecp> $ dcecp -c directory show /.:/subsys {RPC_ClassVersion 0100} {CDS_CTS 1994-04-14-19:26:22.539+00:00I0.000/00-00-c0-8a-df-56} {CDS_UTS 1994-04-18-16:39:58.199+00:00I0.000/00-00-c0-8a-df-56} {CDS_ObjectUUID 00524676-98de-1dad-9263-0000c08adf56} {CDS_Replicas {Clearinghouse_Uuid 000ad28c-98c2-1dad-9263-0000c08adf56} {Clearinghouse_Name /.../brain_cell.osf.org/pmin17_ch} {Replica_Type Master} {Tower ncacn_ip_tcp:130.105.1.227[]} {Tower ncadg_ip_udp:130.105.1.227[]}} {CDS_AllUpTo 1994-04-18-22:40:35.326+00:00I0.000/00-00-c0-8a-df-56} {CDS_Convergence medium} {CDS_ParentPointer {Parent_UUID 00972ee5-98c4-1dad-9263-0000c08adf56} {Timeout {expiration 1994-04-19-16:39:58.049} {extension +1-00:00:00.000I0.000}} {myname /.../brain_cell.osf.org/subsys}} {CDS_DirectoryVersion 3.0} {CDS_ReplicaState on} {CDS_ReplicaType Master} {CDS_LastSkulk 1994-04-18-22:40:35.326+00:00I0.000/00-00-c0-8a-df-56} {CDS_LastUpdate 1994-04-18-16:39:58.199+00:00I0.000/00-00-c0-8a-df-56} {CDS_RingPointer 000ad28c-98c2-1dad-9263-0000c08adf56} {CDS_Epoch 0059e778-98df-1dad-9263-0000c08adf56} {CDS_ReplicaVersion 3.0} $ THE FOREACH LOOP dcecp> foreach i [group list temps] { > account modify $i temps research -expdate 6/30/95 } ABBREVIATIONS dcecp> clearin sh /.../brain_cell.osf.org/pmin17_ch {CDS_CTS 1994-04-14-19:25:54.051+00:00I0.000/00-00-c0-8a-df-56} {CDS_UTS 1994-04-14-19:31:46.020+00:00I0.000/00-00-c0-8a-df-56} {CDS_ObjectUUID 000ad28c-98c2-1dad-9263-0000c08adf56} {CDS_AllUpTo 1994-04-18-19:40:15.501+00:00I0.000/00-00-c0-8a-df-56} {CDS_DirectoryVersion 3.0} {CDS_CHName /.../brain_cell.osf.org/pmin17_ch} {CDS_CHLastAddress {Tower ncacn_ip_tcp:130.105.1.227[]}} {CDS_CHLastAddress {Tower ncadg_ip_udp:130.105.1.227[]}} {CDS_CHState on} {CDS_CHDirectories {dir_uuid 00972ee5-98c4-1dad-9263-0000c08adf56} {directory /.../brain_cell.osf.org}} {CDS_CHDirectories {dir_uuid 00524676-98de-1dad-9263-0000c08adf56} {directory /.../brain_cell.osf.org/subsys}} {CDS_CHDirectories {dir_uuid 0013b6b8-98e0-1dad-9263-0000c08adf56} {directory /.../brain_cell.osf.org/subsys/HP}} {CDS_CHDirectories {dir_uuid 00216e3e-98e1-1dad-9263-0000c08adf56} {directory /.../brain_cell.osf.org/subsys/HP/sample-apps}} {CDS_CHDirectories {dir_uuid 002a91da-98e2-1dad-9263-0000c08adf56} {directory /.../brain_cell.osf.org/subsys/dce}} {CDS_CHDirectories {dir_uuid 008f45f8-98e3-1dad-9263-0000c08adf56} {directory /.../brain_cell.osf.org/subsys/dce/sec}} {CDS_CHDirectories {dir_uuid 008dbc60-98e4-1dad-9263-0000c08adf56} {directory /.../brain_cell.osf.org/subsys/dce/dfs}} {CDS_CHDirectories {dir_uuid 00986692-98e5-1dad-9263-0000c08adf56} {directory /.../brain_cell.osf.org/hosts}} {CDS_CHDirectories {dir_uuid 00152a98-98e7-1dad-9263-0000c08adf56} {directory /.../brain_cell.osf.org/hosts/pmin17}} {CDS_ReplicaVersion 3.0} {CDS_NSCellname /.../brain_cell.osf.org} dcecp>