ilx workspaceΒΆ

ilx workspace(1)	      BIG-IP TMSH Manual	      ilx workspace(1)



NAME
       workspace - Configures a development workspace for Node.js(tm) iRule
       Language Extensions.

MODULE
       ilx

SYNTAX
       Configure the workspace component within the ilx module using the
       syntax shown in the following sections.

   CREATE/MODIFY/EDIT
	create workspace [name]
	 options:
	   archive [name]
	   extension [name]
	   file [name]
	   from-archive [name]
	   from-plugin [name]
	   from-uri [uri]
	   from-workspace [name]
	   node-version [version]
	   rule [name]

	modify workspace [name]
	 options:
	   from-archive [name]
	   from-plugin [name]
	   from-uri [uri]
	   from-workspace [name]
	   node-version [version]

	edit workspace [name]
	 options:
	   extension [name]
	   file [name]
	   rule [name]

   DISPLAY
	list workspace
	list workspace [ [name] ... ]
	show running-config workspace
	show running-config workspace [ [name] ... ]
	 options:
	   all-files
	   all-properties
	   archive [name]
	   extension [name]
	   file [name]
	   node-version
	   one-line
	   partition
	   recursive
	   rule [name]
	   staged-directory
	   version

	show workspace
	show workspace [name]
	 options:
	   all-properties
	   detail
	   field-fmt

   DELETE
	delete workspace [name]
	 options:
	  archive [name]
	  extension [name]
	  file [name]
	  rule [name]

DESCRIPTION
       An ILX Workspace is an area of the file system used to store
       Node.js(tm) and supporting files used to construct an ilx plugin.
       Workspaces are stored in /var/ilx/workspaces/...//.

       A workspace contains several components.
	  /var/ilx/workspaces/Common//extensions/...
	  /var/ilx/workspaces/Common//rules/...
	  /var/ilx/workspaces/Common//version

       The extensions directory contains sub-directories. Each sub-directory
       contains files for a specific extension.
	  /var/ilx/workspaces/Common//extensions//...  Each extension directory must contain a package.json file.
       This is a standard npm package definition file. For more information
       see www.npmjs.org/doc/package.json.html.  When an ilx plugin is started
       node will look in package.json for a main field that identifies the
       main entry point of the plugin. If the main field is not present node
       will look for the file index.js.

       The rules directory contains zero or more files that contain iRules
       (see ltm rule).
	  /var/ilx/workspaces/Common//rules/.tcl.
       ILX iRule commands are used to communicate with a Node.js(tm) process
       that is running as part of an ILX Plugin.  When a new rule is created
       using either of the following commands a sample iRule file is opened
       with syntax examples for the ILX iRule commands.
	  create ilx workspace ilx rule test
	  edit ilx workspace ilx rule test

       When a new extension is created using the following commands a sample
       index.js file will be created that contains Node.js(tm) and ILX iRule
       examples. The extension directory is also populated with the file
       package.json and locally installed Node.js(tm) modules.
	  tmsh create ilx workspace my_workspace
	  tmsh create ilx workspace my_workspace extension my_extension

       The version file indicates the BIG-IP version used to create the
       workspace.

EXAMPLES
       create workspace my_workspace

       Creates a workspace named my_workspace in
       /var/ilx/workspaces/Common/my_workspace (assuming your current working
       folder is the default BIG-IP folder /Common).

       create workspace my_workspace rule my_rule

       Adds the iRule my_rule as the file my_rule.tcl to the workspace
       directory named /var/ilx/workspaces/Common/my_workspace/rules/.

       edit workspace my_workspace rule my_rule

       Adds or modifies the iRule my_rule as the file my_rule.tcl to the
       workspace directory named
       /var/ilx/workspaces/Common/my_workspace/rules/.

       create workspace my_workspace extension my_extension

       Adds a new extension directory in
       /var/ilx/workspaces/Common/my_workspace/extensions/my_extension and
       installs node_modules/f5-nodejs within the directory. my_extension must
       be a valid Linux directory name.

       edit workspace my_workspace extension my_extension

       If the extension does not exist a new extension directory is created in
       /var/ilx/workspaces/Common/my_workspace/extensions/my_extension,
       installs node_modules/f5-nodejs within the directory and opens the
       editor on the file within the directory named index.js.	If the
       extension already exists the editor will open index.js.

       edit workspace my_workspace file extensions/my_extension/my_file.js

       If the extension does not exist a new extension directory is created in
       /var/ilx/workspaces/Common/my_workspace/extensions/my_extension,
       installs node_modules/f5-nodejs within the directory and opens the
       editor on my_file.js.  If the extension already exists the editor will
       open my_file.js.

       edit workspace my_workspace file extensions/my_extension/my_file.js

       The editor is opened on
       /var/ilx/workspaces/Common/my_workspace/extensions/my_extension/my_file.js.
       The extension must already exist.

       delete workspace my_workspace

       Deletes the workspace named my_workspace. This removes all disk files
       associated with the workspace and cannot be undone. You will be
       prompted to confirm before the workspace is deleted.

       delete workspace my_workspace extension my_extension

       Deletes the extension named my_extension in my_workspace.

       delete workspace my_workspace rule my_rule

       Deletes the iRule file named my_rule in my_extension in my_workspace.

       delete workspace my_workspace file extensions/my_extension/my_file

       Deletes the file named my_file in my_extension in my_workspace.

       list workspace my_workspace

       List the content of my_workspace

       list workspace recursive my_workspace

       List all files and directories in my_workspace.

       list workspace my_workspace rule

       List the rules associated with my_workspace.

       list workspace my_workspace rule my_rule

       List the text content of the rule my_rule associated with my_workspace

       list workspace my_workspace file rules/my_rule.tcl

       List the text content of the file rules/my_rule.tcl associated with
       my_workspace

       list workspace my_workspace extension

       List the extensions associated with my_workspace.

       list workspace my_workspace extension my_extension

       List the content of the my_extension extension directory associated
       with my_workspace.

       list workspace my_workspace file extensions/my_extension/my_file

       List the text content of the file my_file in extension my_extension.

       show workspace my_workspace

       Show the top level files for the specified workspace. Show the group,
       last modify time, owner, permissions and size of the workspace.

       show workspace

       Show all workspaces.

OPTIONS
       archive
	    Specifies the name of a workspace archive file. See the section
	    below on archives.

       all-files
	    Recursively list all directory and file names contained in a
	    workspace.

       all-properties
	    For a show command, show group, last modify time, owner,
	    permissions, type and size of the file/directory.

       detail
	    For a show command, show all the files in the workspace.

       extension
	    Specifies the name of a workspace extension.

       file For the edit and list commands the file option specifies the name
	    of a file in a workspace to edit or list. For the delete command
	    the file option specifies the name of a workspace file to delete.

       from-archive
	    Specifies the name of a tar or gzipped tar archive file from which
	    to create or update a workspace.  See the section below on
	    archives.

       from-plugin
	    Specifies the name of an ilx plugin from which to create or modify
	    a workspace. The files used to create the plugin are copied into
	    the workspace.

       from-uri
	    Specifies the name of a URI from which to create or update a
	    workspace. The URI must refer to a tar or gzipped tar archive
	    file.

       from-workspace
	    Specifies the name of a workspace from which to create or modify a
	    workspace. The files used to create the workspace specified by
	    from-workspace are copied into the new workspace.

       node-version
	    Specifies the version of Node.js that will be used to run an . When an  is created or updated from a
	    workspace the plugin inherits the node-version from the workspace.
	    The node-version may be specified when an ilx workspace is
	    created. The node-version may also be changed after the ilx
	    workspace has been created.

	    When the node-version of a workspace is changed the workspace is
	    archived. The following files and directories are replaced: The
	    file

	    [workspace name]/extensions/[extension
	    name]/node_modules/f5-nodejs/package.json

	    and the content of the directory

	    [workspace name]/extensions/[extension
	    name]/node_modules/f5-nodejs/lib.

	    To update an existing ilx plugin to use the new workspace version
	    issue the following command:

	    modify ilx plugin [plugin name] from-workspace [workspace name]

	    When a node process is started the BigIP sets the NODE_PATH
	    environment variable. For Node.js version 0.12 plugins the
	    NODE_PATH is set to /usr/local/node/v0.12/lib/node_modules. For
	    Node.js version 6 the NODE_PATH is set to
	    /usr/lib/node_modules:/usr/local/node/v6/lib/node_modules.

       one-line
	    List the content of a workspace on a single line.

       recursive
	    Recursively list all workspaces contained in the current BIG-IP
	    system folder (see sys folder).

       rule Specifies the name of a rule file to create, delete, edit or list.

       staged-directory
	    The directory where the workspace and associated files reside.
	    This is a read-only property.

       name Specifies the name of a workspace. This option is required for the
	    commands create, delete, edit and modify.

ACCESS CONTROL
       Workspaces are stored under file system directory /var/ilx/workspaces.

       A user with the role of admin can access all workspaces under
       /var/ilx/workspaces.

       Users with the role of irule-manager, manager and resource-admin can
       manage workspaces under /var/ilx/workspaces/, where
        is the name of an existing sys folder that the user
       has permission to access, see also help sys folder and help pwd.

       As a convenience workspaces are automatically created in the users'
       current folder relative to /var/ilx/workspaces. However, workspaces may
       be created in file system directories that do not correspond to BIG-IP
       system configuration folders. In this case the workspace must be
       referred to by full path.

       The following creates two workspaces, the first in the file system
       location /var/ilx/workspaces/Common/my_workspace and the second in the
       filesystem location /var/ilx/workspaces/Common/my_folder/my_workspace.
	  (tmos)# pwd
	  /Common
	  (tmos)# create ilx workspace my_workspace
	  (tmos)# cd my_folder
	  (tmos)# pwd
	  /Common/my_folder
	  (tmos)# create ilx workspace my_workspace_2
	  (tmos)# list ilx workspace my_workspace_2
		      
	  (tmos)# cd ..
	  (tmos)# pwd
	  /Common
	  (tmos)# list ilx workspace my_workspace
		      

	  Full folder paths may be used to refer to a workspace.

	  (tmos)# create ilx workspace /Common/my_folder/my_workspace_2
	  (tmos)# list ilx workspace /Common/my_folder/my_workspace_2
		      

       If an auth partition is removed from the BIG-IP configuration the
       workspace files remain on disk and can be accessed by a user with the
       role of admin. If a sys folder is removed under an auth partition, such
       as removing the folder /Common/my_config, all workspaces under the file
       system directory /var/ilx/workspaces/Common/my_config remain accessible
       to all users that have access to the Common partition.

ARCHIVES
       A workspace archive is a gzipped tar file of an existing workspace. The
       archive contains all files in the workspace.

       There are two ways to refer to an archive: 1)  2) //.

       Workspace archives are stored in /var/ilx/workspaces//archive/.  The system looks for archives in
       /var/ilx/workspaces//archive.

       If an auth partition is removed from the BIG-IP configuration, archive
       files remain on disk and can be accessed by a user with the role of
       admin. A user with the role of admin can also manage archives under
       /var/ilx/workspaces in directories that do not correspond to a BIG-IP
       auth partition.

       create workspace my_workspace archive my_workspace.tgz

       Save the workspace as a gzipped tar file. The workspace must have been
       previously created.

       create workspace my_workspace archive /my_partition/my_workspace.tgz

       Save the workspace as a gzipped tar file to the set of archives in
       /my_partition.  The workspace must have been previously created.

       list workspace my_workspace archive

       List all archives in the current auth partition.

       list workspace my_workspace archive my_workspace.tgz

       List file details for the archive my_workspace.tgz.

       list workspace my_workspace archive /my_partition/my_workspace.tgz

       List file details for the archive my_workspace.tgz that is in
       my_partition.

       list workspace my_workspace archive /my_partition

       List all archives in /my_partition.

       delete workspace archive my_archive.tgz

       Delete the workspace archive my_archive.tgz.

       delete workspace archive /my_partition/my_archive.tgz

       Delete the workspace archive my_archive.tgz in /my_partition.

       create workspace my_workspace from-archive my_workspace.tgz

       Create a new workspace from the archive my_workspace.tgz.

       modify workspace my_workspace from-archive my_workspace.tgz

       Update  my_workspace from the archive my_workspace.tgz.

CONFIGURATION FILES
       Workspaces are not stored in system config files.

       Workspaces are stored in UCS files and are rolled forward to the next
       product release.

       In a bladed system workspaces are clustered among blades.

       Workspaces are not synced across device groups.

SEE ALSO
       auth partition, cm device-group, create, delete, edit, ilx plugin,
       list, modify, pwd, sys folder, tmsh

COPYRIGHT
       No part of this program may be reproduced or transmitted in any form or
       by any means, electronic or mechanical, including photocopying,
       recording, or information storage and retrieval systems, for any
       purpose other than the purchaser's personal use, without the express
       written permission of F5 Networks, Inc.

       F5 Networks and BIG-IP (c) Copyright 2008-2015. All rights reserved.



BIG-IP				  2017-05-09		      ilx workspace(1)