text: # -*- coding: utf-8 -*-
  ############################################################
  #
  # Autogenerated by the KBase type compiler -
  # any changes made here will be overwritten
  #
  ############################################################
  
  
  # the following is a hack to get the baseclient to import whether we're in a
  # package or not. This makes pep8 unhappy hence the annotations.
  try:
      # baseclient and this client are in a package
      from .baseclient import BaseClient as _BaseClient  # @UnusedImport
  except:
      # no they aren't
      from .baseclient import BaseClient as _BaseClient  # @Reimport
  
  
  class Workspace(object):
  
      def __init__(
              self, url=None, timeout=30 * 60, user_id=None,
              password=None, token=None, ignore_authrc=False,
              trust_all_ssl_certificates=False,
              auth_svc='https://kbase.us/services/authorization/Sessions/Login'):
          if url is None:
              raise ValueError('A url is required')
          self._service_ver = None
          self._client = _BaseClient(
              url, timeout=timeout, user_id=user_id, password=password,
              token=token, ignore_authrc=ignore_authrc,
              trust_all_ssl_certificates=trust_all_ssl_certificates,
              auth_svc=auth_svc)
  
      def ver(self, context=None):
          """
          Returns the version of the workspace service.
          :returns: instance of String
          """
          return self._client.call_method(
              'Workspace.ver',
              [], self._service_ver, context)
  
      def create_workspace(self, params, context=None):
          """
          Creates a new workspace.
          :param params: instance of type "CreateWorkspaceParams" (Input
             parameters for the "create_workspace" function. Required
             arguments: ws_name workspace - name of the workspace to be
             created. Optional arguments: permission globalread - 'r' to set
             the new workspace globally readable, default 'n'. string
             description - A free-text description of the new workspace, 1000
             characters max. Longer strings will be mercilessly and brutally
             truncated. usermeta meta - arbitrary user-supplied metadata for
             the workspace.) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "globalread" of type
             "permission" (Represents the permissions a user or users have to a
             workspace: 'a' - administrator. All operations allowed. 'w' -
             read/write. 'r' - read. 'n' - no permissions.), parameter
             "description" of String, parameter "meta" of type "usermeta" (User
             provided metadata about an object. Arbitrary key-value pairs
             provided by the user.) -> mapping from String to String
          :returns: instance of type "workspace_info" (Information about a
             workspace. ws_id id - the numerical ID of the workspace. ws_name
             workspace - name of the workspace. username owner - name of the
             user who owns (e.g. created) this workspace. timestamp moddate -
             date when the workspace was last modified. int max_objid - the
             maximum object ID appearing in this workspace. Since cloning a
             workspace preserves object IDs, this number may be greater than
             the number of objects in a newly cloned workspace. permission
             user_permission - permissions for the authenticated user of this
             workspace. permission globalread - whether this workspace is
             globally readable. lock_status lockstat - the status of the
             workspace lock. usermeta metadata - arbitrary user-supplied
             metadata about the workspace.) -> tuple of size 9: parameter "id"
             of type "ws_id" (The unique, permanent numerical ID of a
             workspace.), parameter "workspace" of type "ws_name" (A string
             used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "owner" of type "username"
             (Login name of a KBase user account.), parameter "moddate" of type
             "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is
             either the character Z (representing the UTC timezone) or the
             difference in time to UTC in the format +/-HHMM, eg:
             2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC
             time) 2013-04-03T08:56:32Z (UTC time)), parameter "max_objid" of
             Long, parameter "user_permission" of type "permission" (Represents
             the permissions a user or users have to a workspace: 'a' -
             administrator. All operations allowed. 'w' - read/write. 'r' -
             read. 'n' - no permissions.), parameter "globalread" of type
             "permission" (Represents the permissions a user or users have to a
             workspace: 'a' - administrator. All operations allowed. 'w' -
             read/write. 'r' - read. 'n' - no permissions.), parameter
             "lockstat" of type "lock_status" (The lock status of a workspace.
             One of 'unlocked', 'locked', or 'published'.), parameter
             "metadata" of type "usermeta" (User provided metadata about an
             object. Arbitrary key-value pairs provided by the user.) ->
             mapping from String to String
          """
          return self._client.call_method(
              'Workspace.create_workspace',
              [params], self._service_ver, context)
  
      def alter_workspace_metadata(self, params, context=None):
          """
          Change the metadata associated with a workspace.
          :param params: instance of type "AlterWorkspaceMetadataParams" (Input
             parameters for the "alter_workspace_metadata" function. Required
             arguments: WorkspaceIdentity wsi - the workspace to be altered One
             or both of the following arguments are required: usermeta new -
             metadata to assign to the workspace. Duplicate keys will be
             overwritten. list<string> remove - these keys will be removed from
             the workspace metadata key/value pairs.) -> structure: parameter
             "wsi" of type "WorkspaceIdentity" (A workspace identifier. Select
             a workspace by one, and only one, of the numerical id or name.
             ws_id id - the numerical ID of the workspace. ws_name workspace -
             the name of the workspace.) -> structure: parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "id" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "new"
             of type "usermeta" (User provided metadata about an object.
             Arbitrary key-value pairs provided by the user.) -> mapping from
             String to String, parameter "remove" of list of String
          """
          return self._client.call_method(
              'Workspace.alter_workspace_metadata',
              [params], self._service_ver, context)
  
      def clone_workspace(self, params, context=None):
          """
          Clones a workspace.
          :param params: instance of type "CloneWorkspaceParams" (Input
             parameters for the "clone_workspace" function. Note that deleted
             objects are not cloned, although hidden objects are and remain
             hidden in the new workspace. Required arguments: WorkspaceIdentity
             wsi - the workspace to be cloned. ws_name workspace - name of the
             workspace to be cloned into. This must be a non-existant workspace
             name. Optional arguments: permission globalread - 'r' to set the
             new workspace globally readable, default 'n'. string description -
             A free-text description of the new workspace, 1000 characters max.
             Longer strings will be mercilessly and brutally truncated.
             usermeta meta - arbitrary user-supplied metadata for the
             workspace. list<ObjectIdentity> exclude - exclude the specified
             objects from the cloned workspace. Either an object ID or a object
             name must be specified in each ObjectIdentity - any supplied
             reference strings, workspace names or IDs, and versions are
             ignored.) -> structure: parameter "wsi" of type
             "WorkspaceIdentity" (A workspace identifier. Select a workspace by
             one, and only one, of the numerical id or name. ws_id id - the
             numerical ID of the workspace. ws_name workspace - the name of the
             workspace.) -> structure: parameter "workspace" of type "ws_name"
             (A string used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "id" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter
             "workspace" of type "ws_name" (A string used as a name for a
             workspace. Any string consisting of alphanumeric characters and
             "_", ".", or "-" that is not an integer is acceptable. The name
             may optionally be prefixed with the workspace owner's user name
             and a colon, e.g. kbasetest:my_workspace.), parameter "globalread"
             of type "permission" (Represents the permissions a user or users
             have to a workspace: 'a' - administrator. All operations allowed.
             'w' - read/write. 'r' - read. 'n' - no permissions.), parameter
             "description" of String, parameter "meta" of type "usermeta" (User
             provided metadata about an object. Arbitrary key-value pairs
             provided by the user.) -> mapping from String to String, parameter
             "exclude" of list of type "ObjectIdentity" (An object identifier.
             Select an object by either: One, and only one, of the numerical id
             or name of the workspace. ws_id wsid - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace. AND One,
             and only one, of the numerical id or name of the object. obj_id
             objid- the numerical ID of the object. obj_name name - name of the
             object. OPTIONALLY obj_ver ver - the version of the object. OR an
             object reference string: obj_ref ref - an object reference
             string.) -> structure: parameter "workspace" of type "ws_name" (A
             string used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.)
          :returns: instance of type "workspace_info" (Information about a
             workspace. ws_id id - the numerical ID of the workspace. ws_name
             workspace - name of the workspace. username owner - name of the
             user who owns (e.g. created) this workspace. timestamp moddate -
             date when the workspace was last modified. int max_objid - the
             maximum object ID appearing in this workspace. Since cloning a
             workspace preserves object IDs, this number may be greater than
             the number of objects in a newly cloned workspace. permission
             user_permission - permissions for the authenticated user of this
             workspace. permission globalread - whether this workspace is
             globally readable. lock_status lockstat - the status of the
             workspace lock. usermeta metadata - arbitrary user-supplied
             metadata about the workspace.) -> tuple of size 9: parameter "id"
             of type "ws_id" (The unique, permanent numerical ID of a
             workspace.), parameter "workspace" of type "ws_name" (A string
             used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "owner" of type "username"
             (Login name of a KBase user account.), parameter "moddate" of type
             "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is
             either the character Z (representing the UTC timezone) or the
             difference in time to UTC in the format +/-HHMM, eg:
             2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC
             time) 2013-04-03T08:56:32Z (UTC time)), parameter "max_objid" of
             Long, parameter "user_permission" of type "permission" (Represents
             the permissions a user or users have to a workspace: 'a' -
             administrator. All operations allowed. 'w' - read/write. 'r' -
             read. 'n' - no permissions.), parameter "globalread" of type
             "permission" (Represents the permissions a user or users have to a
             workspace: 'a' - administrator. All operations allowed. 'w' -
             read/write. 'r' - read. 'n' - no permissions.), parameter
             "lockstat" of type "lock_status" (The lock status of a workspace.
             One of 'unlocked', 'locked', or 'published'.), parameter
             "metadata" of type "usermeta" (User provided metadata about an
             object. Arbitrary key-value pairs provided by the user.) ->
             mapping from String to String
          """
          return self._client.call_method(
              'Workspace.clone_workspace',
              [params], self._service_ver, context)
  
      def lock_workspace(self, wsi, context=None):
          """
          Lock a workspace, preventing further changes.
                  WARNING: Locking a workspace is permanent. A workspace, once locked,
                  cannot be unlocked.
                  
                  The only changes allowed for a locked workspace are changing user
                  based permissions or making a private workspace globally readable,
                  thus permanently publishing the workspace. A locked, globally readable
                  workspace cannot be made private.
          :param wsi: instance of type "WorkspaceIdentity" (A workspace
             identifier. Select a workspace by one, and only one, of the
             numerical id or name. ws_id id - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "id" of type "ws_id" (The unique, permanent numerical ID
             of a workspace.)
          :returns: instance of type "workspace_info" (Information about a
             workspace. ws_id id - the numerical ID of the workspace. ws_name
             workspace - name of the workspace. username owner - name of the
             user who owns (e.g. created) this workspace. timestamp moddate -
             date when the workspace was last modified. int max_objid - the
             maximum object ID appearing in this workspace. Since cloning a
             workspace preserves object IDs, this number may be greater than
             the number of objects in a newly cloned workspace. permission
             user_permission - permissions for the authenticated user of this
             workspace. permission globalread - whether this workspace is
             globally readable. lock_status lockstat - the status of the
             workspace lock. usermeta metadata - arbitrary user-supplied
             metadata about the workspace.) -> tuple of size 9: parameter "id"
             of type "ws_id" (The unique, permanent numerical ID of a
             workspace.), parameter "workspace" of type "ws_name" (A string
             used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "owner" of type "username"
             (Login name of a KBase user account.), parameter "moddate" of type
             "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is
             either the character Z (representing the UTC timezone) or the
             difference in time to UTC in the format +/-HHMM, eg:
             2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC
             time) 2013-04-03T08:56:32Z (UTC time)), parameter "max_objid" of
             Long, parameter "user_permission" of type "permission" (Represents
             the permissions a user or users have to a workspace: 'a' -
             administrator. All operations allowed. 'w' - read/write. 'r' -
             read. 'n' - no permissions.), parameter "globalread" of type
             "permission" (Represents the permissions a user or users have to a
             workspace: 'a' - administrator. All operations allowed. 'w' -
             read/write. 'r' - read. 'n' - no permissions.), parameter
             "lockstat" of type "lock_status" (The lock status of a workspace.
             One of 'unlocked', 'locked', or 'published'.), parameter
             "metadata" of type "usermeta" (User provided metadata about an
             object. Arbitrary key-value pairs provided by the user.) ->
             mapping from String to String
          """
          return self._client.call_method(
              'Workspace.lock_workspace',
              [wsi], self._service_ver, context)
  
      def get_workspacemeta(self, params, context=None):
          """
          Retrieves the metadata associated with the specified workspace.
          Provided for backwards compatibility. 
          @deprecated Workspace.get_workspace_info
          :param params: instance of type "get_workspacemeta_params"
             (DEPRECATED Input parameters for the "get_workspacemeta" function.
             Provided for backwards compatibility. One, and only one of:
             ws_name workspace - name of the workspace. ws_id id - the
             numerical ID of the workspace. Optional arguments: string auth -
             the authentication token of the KBase account accessing the
             workspace. Overrides the client provided authorization credentials
             if they exist. @deprecated Workspace.WorkspaceIdentity) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "id" of type "ws_id" (The unique, permanent numerical ID
             of a workspace.), parameter "auth" of String
          :returns: instance of type "workspace_metadata" (Meta data associated
             with a workspace. Provided for backwards compatibility. To be
             replaced by workspace_info. ws_name id - name of the workspace
             username owner - name of the user who owns (who created) this
             workspace timestamp moddate - date when the workspace was last
             modified int objects - the approximate number of objects currently
             stored in the workspace. permission user_permission - permissions
             for the currently logged in user for the workspace permission
             global_permission - default permissions for the workspace for all
             KBase users ws_id num_id - numerical ID of the workspace
             @deprecated Workspace.workspace_info) -> tuple of size 7:
             parameter "id" of type "ws_name" (A string used as a name for a
             workspace. Any string consisting of alphanumeric characters and
             "_", ".", or "-" that is not an integer is acceptable. The name
             may optionally be prefixed with the workspace owner's user name
             and a colon, e.g. kbasetest:my_workspace.), parameter "owner" of
             type "username" (Login name of a KBase user account.), parameter
             "moddate" of type "timestamp" (A time in the format
             YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "objects" of Long, parameter "user_permission"
             of type "permission" (Represents the permissions a user or users
             have to a workspace: 'a' - administrator. All operations allowed.
             'w' - read/write. 'r' - read. 'n' - no permissions.), parameter
             "global_permission" of type "permission" (Represents the
             permissions a user or users have to a workspace: 'a' -
             administrator. All operations allowed. 'w' - read/write. 'r' -
             read. 'n' - no permissions.), parameter "num_id" of type "ws_id"
             (The unique, permanent numerical ID of a workspace.)
          """
          return self._client.call_method(
              'Workspace.get_workspacemeta',
              [params], self._service_ver, context)
  
      def get_workspace_info(self, wsi, context=None):
          """
          Get information associated with a workspace.
          :param wsi: instance of type "WorkspaceIdentity" (A workspace
             identifier. Select a workspace by one, and only one, of the
             numerical id or name. ws_id id - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "id" of type "ws_id" (The unique, permanent numerical ID
             of a workspace.)
          :returns: instance of type "workspace_info" (Information about a
             workspace. ws_id id - the numerical ID of the workspace. ws_name
             workspace - name of the workspace. username owner - name of the
             user who owns (e.g. created) this workspace. timestamp moddate -
             date when the workspace was last modified. int max_objid - the
             maximum object ID appearing in this workspace. Since cloning a
             workspace preserves object IDs, this number may be greater than
             the number of objects in a newly cloned workspace. permission
             user_permission - permissions for the authenticated user of this
             workspace. permission globalread - whether this workspace is
             globally readable. lock_status lockstat - the status of the
             workspace lock. usermeta metadata - arbitrary user-supplied
             metadata about the workspace.) -> tuple of size 9: parameter "id"
             of type "ws_id" (The unique, permanent numerical ID of a
             workspace.), parameter "workspace" of type "ws_name" (A string
             used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "owner" of type "username"
             (Login name of a KBase user account.), parameter "moddate" of type
             "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is
             either the character Z (representing the UTC timezone) or the
             difference in time to UTC in the format +/-HHMM, eg:
             2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC
             time) 2013-04-03T08:56:32Z (UTC time)), parameter "max_objid" of
             Long, parameter "user_permission" of type "permission" (Represents
             the permissions a user or users have to a workspace: 'a' -
             administrator. All operations allowed. 'w' - read/write. 'r' -
             read. 'n' - no permissions.), parameter "globalread" of type
             "permission" (Represents the permissions a user or users have to a
             workspace: 'a' - administrator. All operations allowed. 'w' -
             read/write. 'r' - read. 'n' - no permissions.), parameter
             "lockstat" of type "lock_status" (The lock status of a workspace.
             One of 'unlocked', 'locked', or 'published'.), parameter
             "metadata" of type "usermeta" (User provided metadata about an
             object. Arbitrary key-value pairs provided by the user.) ->
             mapping from String to String
          """
          return self._client.call_method(
              'Workspace.get_workspace_info',
              [wsi], self._service_ver, context)
  
      def get_workspace_description(self, wsi, context=None):
          """
          Get a workspace's description.
          :param wsi: instance of type "WorkspaceIdentity" (A workspace
             identifier. Select a workspace by one, and only one, of the
             numerical id or name. ws_id id - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "id" of type "ws_id" (The unique, permanent numerical ID
             of a workspace.)
          :returns: instance of String
          """
          return self._client.call_method(
              'Workspace.get_workspace_description',
              [wsi], self._service_ver, context)
  
      def set_permissions(self, params, context=None):
          """
          Set permissions for a workspace.
          :param params: instance of type "SetPermissionsParams" (Input
             parameters for the "set_permissions" function. One, and only one,
             of the following is required: ws_id id - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace. Required
             arguments: permission new_permission - the permission to assign to
             the users. list<username> users - the users whose permissions will
             be altered.) -> structure: parameter "workspace" of type "ws_name"
             (A string used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "id" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter
             "new_permission" of type "permission" (Represents the permissions
             a user or users have to a workspace: 'a' - administrator. All
             operations allowed. 'w' - read/write. 'r' - read. 'n' - no
             permissions.), parameter "users" of list of type "username" (Login
             name of a KBase user account.)
          """
          return self._client.call_method(
              'Workspace.set_permissions',
              [params], self._service_ver, context)
  
      def set_global_permission(self, params, context=None):
          """
          Set the global permission for a workspace.
          :param params: instance of type "SetGlobalPermissionsParams" (Input
             parameters for the "set_global_permission" function. One, and only
             one, of the following is required: ws_id id - the numerical ID of
             the workspace. ws_name workspace - the name of the workspace.
             Required arguments: permission new_permission - the permission to
             assign to all users, either 'n' or 'r'. 'r' means that all users
             will be able to read the workspace; otherwise users must have
             specific permission to access the workspace.) -> structure:
             parameter "workspace" of type "ws_name" (A string used as a name
             for a workspace. Any string consisting of alphanumeric characters
             and "_", ".", or "-" that is not an integer is acceptable. The
             name may optionally be prefixed with the workspace owner's user
             name and a colon, e.g. kbasetest:my_workspace.), parameter "id" of
             type "ws_id" (The unique, permanent numerical ID of a workspace.),
             parameter "new_permission" of type "permission" (Represents the
             permissions a user or users have to a workspace: 'a' -
             administrator. All operations allowed. 'w' - read/write. 'r' -
             read. 'n' - no permissions.)
          """
          return self._client.call_method(
              'Workspace.set_global_permission',
              [params], self._service_ver, context)
  
      def set_workspace_description(self, params, context=None):
          """
          Set the description for a workspace.
          :param params: instance of type "SetWorkspaceDescriptionParams"
             (Input parameters for the "set_workspace_description" function.
             One, and only one, of the following is required: ws_id id - the
             numerical ID of the workspace. ws_name workspace - the name of the
             workspace. Optional arguments: string description - A free-text
             description of the workspace, 1000 characters max. Longer strings
             will be mercilessly and brutally truncated. If omitted, the
             description is set to null.) -> structure: parameter "workspace"
             of type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "id" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter
             "description" of String
          """
          return self._client.call_method(
              'Workspace.set_workspace_description',
              [params], self._service_ver, context)
  
      def get_permissions_mass(self, mass, context=None):
          """
          Get permissions for multiple workspaces.
          :param mass: instance of type "GetPermissionsMassParams" (Input
             parameters for the "get_permissions_mass" function. workspaces -
             the workspaces for which to return the permissions, maximum 1000.)
             -> structure: parameter "workspaces" of list of type
             "WorkspaceIdentity" (A workspace identifier. Select a workspace by
             one, and only one, of the numerical id or name. ws_id id - the
             numerical ID of the workspace. ws_name workspace - the name of the
             workspace.) -> structure: parameter "workspace" of type "ws_name"
             (A string used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "id" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.)
          :returns: instance of type "WorkspacePermissions" (A set of workspace
             permissions. perms - the list of permissions for each requested
             workspace) -> structure: parameter "perms" of list of mapping from
             type "username" (Login name of a KBase user account.) to type
             "permission" (Represents the permissions a user or users have to a
             workspace: 'a' - administrator. All operations allowed. 'w' -
             read/write. 'r' - read. 'n' - no permissions.)
          """
          return self._client.call_method(
              'Workspace.get_permissions_mass',
              [mass], self._service_ver, context)
  
      def get_permissions(self, wsi, context=None):
          """
          Get permissions for a workspace.
          @deprecated get_permissions_mass
          :param wsi: instance of type "WorkspaceIdentity" (A workspace
             identifier. Select a workspace by one, and only one, of the
             numerical id or name. ws_id id - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "id" of type "ws_id" (The unique, permanent numerical ID
             of a workspace.)
          :returns: instance of mapping from type "username" (Login name of a
             KBase user account.) to type "permission" (Represents the
             permissions a user or users have to a workspace: 'a' -
             administrator. All operations allowed. 'w' - read/write. 'r' -
             read. 'n' - no permissions.)
          """
          return self._client.call_method(
              'Workspace.get_permissions',
              [wsi], self._service_ver, context)
  
      def save_object(self, params, context=None):
          """
          Saves the input object data and metadata into the selected workspace,
          returning the object_metadata of the saved object. Provided
          for backwards compatibility.
          @deprecated Workspace.save_objects
          :param params: instance of type "save_object_params" (Input
             parameters for the "save_object" function. Provided for backwards
             compatibility. Required arguments: type_string type - type of the
             object to be saved ws_name workspace - name of the workspace where
             the object is to be saved obj_name id - name behind which the
             object will be saved in the workspace UnspecifiedObject data -
             data to be saved in the workspace Optional arguments: usermeta
             metadata - arbitrary user-supplied metadata for the object, not to
             exceed 16kb; if the object type specifies automatic metadata
             extraction with the 'meta ws' annotation, and your metadata name
             conflicts, then your metadata will be silently overwritten. string
             auth - the authentication token of the KBase account accessing the
             workspace. Overrides the client provided authorization credentials
             if they exist. @deprecated) -> structure: parameter "id" of type
             "obj_name" (A string used as a name for an object. Any string
             consisting of alphanumeric characters and the characters |._- that
             is not an integer is acceptable.), parameter "type" of type
             "type_string" (A type string. Specifies the type and its version
             in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "data" of unspecified object,
             parameter "workspace" of type "ws_name" (A string used as a name
             for a workspace. Any string consisting of alphanumeric characters
             and "_", ".", or "-" that is not an integer is acceptable. The
             name may optionally be prefixed with the workspace owner's user
             name and a colon, e.g. kbasetest:my_workspace.), parameter
             "metadata" of mapping from String to String, parameter "auth" of
             String
          :returns: instance of type "object_metadata" (Meta data associated
             with an object stored in a workspace. Provided for backwards
             compatibility. obj_name id - name of the object. type_string type
             - type of the object. timestamp moddate - date when the object was
             saved obj_ver instance - the version of the object string command
             - Deprecated. Always returns the empty string. username
             lastmodifier - name of the user who last saved the object,
             including copying the object username owner - Deprecated. Same as
             lastmodifier. ws_name workspace - name of the workspace in which
             the object is stored string ref - Deprecated. Always returns the
             empty string. string chsum - the md5 checksum of the object.
             usermeta metadata - arbitrary user-supplied metadata about the
             object. obj_id objid - the numerical id of the object. @deprecated
             object_info) -> tuple of size 12: parameter "id" of type
             "obj_name" (A string used as a name for an object. Any string
             consisting of alphanumeric characters and the characters |._- that
             is not an integer is acceptable.), parameter "type" of type
             "type_string" (A type string. Specifies the type and its version
             in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "moddate" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "instance" of Long,
             parameter "command" of String, parameter "lastmodifier" of type
             "username" (Login name of a KBase user account.), parameter
             "owner" of type "username" (Login name of a KBase user account.),
             parameter "workspace" of type "ws_name" (A string used as a name
             for a workspace. Any string consisting of alphanumeric characters
             and "_", ".", or "-" that is not an integer is acceptable. The
             name may optionally be prefixed with the workspace owner's user
             name and a colon, e.g. kbasetest:my_workspace.), parameter "ref"
             of String, parameter "chsum" of String, parameter "metadata" of
             type "usermeta" (User provided metadata about an object. Arbitrary
             key-value pairs provided by the user.) -> mapping from String to
             String, parameter "objid" of type "obj_id" (The unique, permanent
             numerical ID of an object.)
          """
          return self._client.call_method(
              'Workspace.save_object',
              [params], self._service_ver, context)
  
      def save_objects(self, params, context=None):
          """
          Save objects to the workspace. Saving over a deleted object undeletes
          it.
          :param params: instance of type "SaveObjectsParams" (Input parameters
             for the "save_objects" function. One, and only one, of the
             following is required: ws_id id - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace. Required
             arguments: list<ObjectSaveData> objects - the objects to save.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "id" of type "ws_id" (The unique, permanent numerical ID
             of a workspace.), parameter "objects" of list of type
             "ObjectSaveData" (An object and associated data required for
             saving. Required arguments: type_string type - the type of the
             object. Omit the version information to use the latest version.
             UnspecifiedObject data - the object data. One, and only one, of:
             obj_name name - the name of the object. obj_id objid - the id of
             the object to save over. Optional arguments: usermeta meta -
             arbitrary user-supplied metadata for the object, not to exceed
             16kb; if the object type specifies automatic metadata extraction
             with the 'meta ws' annotation, and your metadata name conflicts,
             then your metadata will be silently overwritten.
             list<ProvenanceAction> provenance - provenance data for the
             object. boolean hidden - true if this object should not be listed
             when listing workspace objects.) -> structure: parameter "type" of
             type "type_string" (A type string. Specifies the type and its
             version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "data" of unspecified object,
             parameter "name" of type "obj_name" (A string used as a name for
             an object. Any string consisting of alphanumeric characters and
             the characters |._- that is not an integer is acceptable.),
             parameter "objid" of type "obj_id" (The unique, permanent
             numerical ID of an object.), parameter "meta" of type "usermeta"
             (User provided metadata about an object. Arbitrary key-value pairs
             provided by the user.) -> mapping from String to String, parameter
             "provenance" of list of type "ProvenanceAction" (A provenance
             action. A provenance action (PA) is an action taken while
             transforming one data object to another. There may be several PAs
             taken in series. A PA is typically running a script, running an
             api command, etc. All of the following fields are optional, but
             more information provided equates to better data provenance.
             resolved_ws_objects should never be set by the user; it is set by
             the workspace service when returning data. On input, only one of
             the time or epoch may be supplied. Both are supplied on output.
             The maximum size of the entire provenance object, including all
             actions, is 1MB. timestamp time - the time the action was started
             epoch epoch - the time the action was started. string caller - the
             name or id of the invoker of this provenance action. In most
             cases, this will be the same for all PAs. string service - the
             name of the service that performed this action. string service_ver
             - the version of the service that performed this action. string
             method - the method of the service that performed this action.
             list<UnspecifiedObject> method_params - the parameters of the
             method that performed this action. If an object in the parameters
             is a workspace object, also put the object reference in the
             input_ws_object list. string script - the name of the script that
             performed this action. string script_ver - the version of the
             script that performed this action. string script_command_line -
             the command line provided to the script that performed this
             action. If workspace objects were provided in the command line,
             also put the object reference in the input_ws_object list.
             list<ref_string> input_ws_objects - the workspace objects that
             were used as input to this action; typically these will also be
             present as parts of the method_params or the script_command_line
             arguments. A reference path into the object graph may be supplied.
             list<obj_ref> resolved_ws_objects - the workspace objects ids from
             input_ws_objects resolved to permanent workspace object references
             by the workspace service. list<string> intermediate_incoming - if
             the previous action produced output that 1) was not stored in a
             referrable way, and 2) is used as input for this action, provide
             it with an arbitrary and unique ID here, in the order of the input
             arguments to this action. These IDs can be used in the
             method_params argument. list<string> intermediate_outgoing - if
             this action produced output that 1) was not stored in a referrable
             way, and 2) is used as input for the next action, provide it with
             an arbitrary and unique ID here, in the order of the output values
             from this action. These IDs can be used in the
             intermediate_incoming argument in the next action.
             list<ExternalDataUnit> external_data - data external to the
             workspace that was either imported to the workspace or used to
             create a workspace object. list<SubAction> subactions - the
             subactions taken as a part of this action. mapping<string, string>
             custom - user definable custom provenance fields and their values.
             string description - a free text description of this action.) ->
             structure: parameter "time" of type "timestamp" (A time in the
             format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "epoch" of type "epoch" (A Unix epoch (the time
             since 00:00:00 1/1/1970 UTC) in milliseconds.), parameter "caller"
             of String, parameter "service" of String, parameter "service_ver"
             of String, parameter "method" of String, parameter "method_params"
             of list of unspecified object, parameter "script" of String,
             parameter "script_ver" of String, parameter "script_command_line"
             of String, parameter "input_ws_objects" of list of type
             "ref_string" (A chain of objects with references to one another as
             a string. A single string that is semantically identical to
             ref_chain above. Represents a path from one workspace object to
             another through an arbitrarily number of intermediate objects
             where each object has a dependency or provenance reference to the
             next object. Each entry is an obj_ref as defined earlier. Entries
             are separated by semicolons. Whitespace is ignored. Examples:
             3/5/6; kbaseuser:myworkspace/myobject; 5/myobject/2 aworkspace/6),
             parameter "resolved_ws_objects" of list of type "obj_ref" (A
             string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "intermediate_incoming" of list of String, parameter
             "intermediate_outgoing" of list of String, parameter
             "external_data" of list of type "ExternalDataUnit" (An external
             data unit. A piece of data from a source outside the Workspace. On
             input, only one of the resource_release_date or
             resource_release_epoch may be supplied. Both are supplied on
             output. string resource_name - the name of the resource, for
             example JGI. string resource_url - the url of the resource, for
             example http://genome.jgi.doe.gov string resource_version -
             version of the resource timestamp resource_release_date - the
             release date of the resource epoch resource_release_epoch - the
             release date of the resource string data_url - the url of the
             data, for example
             http://genome.jgi.doe.gov/pages/dynamicOrganismDownload.jsf?
             organism=BlaspURHD0036 string data_id - the id of the data, for
             example 7625.2.79179.AGTTCC.adnq.fastq.gz string description - a
             free text description of the data.) -> structure: parameter
             "resource_name" of String, parameter "resource_url" of String,
             parameter "resource_version" of String, parameter
             "resource_release_date" of type "timestamp" (A time in the format
             YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "resource_release_epoch" of type "epoch" (A Unix
             epoch (the time since 00:00:00 1/1/1970 UTC) in milliseconds.),
             parameter "data_url" of String, parameter "data_id" of String,
             parameter "description" of String, parameter "subactions" of list
             of type "SubAction" (Information about a subaction that is invoked
             by a provenance action. A provenance action (PA) may invoke
             subactions (SA), e.g. calling a separate piece of code, a service,
             or a script. In most cases these calls are the same from PA to PA
             and so do not need to be listed in the provenance since providing
             information about the PA alone provides reproducibility. In some
             cases, however, SAs may change over time, such that invoking the
             same PA with the same parameters may produce different results.
             For example, if a PA calls a remote server, that server may be
             updated between a PA invoked on day T and another PA invoked on
             day T+1. The SubAction structure allows for specifying information
             about SAs that may dynamically change from PA invocation to PA
             invocation. string name - the name of the SA. string ver - the
             version of SA. string code_url - a url pointing to the SA's
             codebase. string commit - a version control commit ID for the SA.
             string endpoint_url - a url pointing to the access point for the
             SA - a server url, for instance.) -> structure: parameter "name"
             of String, parameter "ver" of String, parameter "code_url" of
             String, parameter "commit" of String, parameter "endpoint_url" of
             String, parameter "custom" of mapping from String to String,
             parameter "description" of String, parameter "hidden" of type
             "boolean" (A boolean. 0 = false, other = true.)
          :returns: instance of list of type "object_info" (Information about
             an object, including user provided metadata. obj_id objid - the
             numerical id of the object. obj_name name - the name of the
             object. type_string type - the type of the object. timestamp
             save_date - the save date of the object. obj_ver ver - the version
             of the object. username saved_by - the user that saved or copied
             the object. ws_id wsid - the workspace containing the object.
             ws_name workspace - the workspace containing the object. string
             chsum - the md5 checksum of the object. int size - the size of the
             object in bytes. usermeta meta - arbitrary user-supplied metadata
             about the object.) -> tuple of size 11: parameter "objid" of type
             "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "name" of type "obj_name" (A string used as a name for
             an object. Any string consisting of alphanumeric characters and
             the characters |._- that is not an integer is acceptable.),
             parameter "type" of type "type_string" (A type string. Specifies
             the type and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String
          """
          return self._client.call_method(
              'Workspace.save_objects',
              [params], self._service_ver, context)
  
      def get_object(self, params, context=None):
          """
          Retrieves the specified object from the specified workspace.
          Both the object data and metadata are returned.
          Provided for backwards compatibility.
          @deprecated Workspace.get_objects
          :param params: instance of type "get_object_params" (Input parameters
             for the "get_object" function. Provided for backwards
             compatibility. Required arguments: ws_name workspace - Name of the
             workspace containing the object to be retrieved obj_name id - Name
             of the object to be retrieved Optional arguments: int instance -
             Version of the object to be retrieved, enabling retrieval of any
             previous version of an object string auth - the authentication
             token of the KBase account accessing the object. Overrides the
             client provided authorization credentials if they exist.
             @deprecated Workspace.ObjectIdentity) -> structure: parameter "id"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "workspace"
             of type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "instance" of Long, parameter
             "auth" of String
          :returns: instance of type "get_object_output" (Output generated by
             the "get_object" function. Provided for backwards compatibility.
             UnspecifiedObject data - The object's data. object_metadata
             metadata - Metadata for object retrieved/ @deprecated
             Workspaces.ObjectData) -> structure: parameter "data" of
             unspecified object, parameter "metadata" of type "object_metadata"
             (Meta data associated with an object stored in a workspace.
             Provided for backwards compatibility. obj_name id - name of the
             object. type_string type - type of the object. timestamp moddate -
             date when the object was saved obj_ver instance - the version of
             the object string command - Deprecated. Always returns the empty
             string. username lastmodifier - name of the user who last saved
             the object, including copying the object username owner -
             Deprecated. Same as lastmodifier. ws_name workspace - name of the
             workspace in which the object is stored string ref - Deprecated.
             Always returns the empty string. string chsum - the md5 checksum
             of the object. usermeta metadata - arbitrary user-supplied
             metadata about the object. obj_id objid - the numerical id of the
             object. @deprecated object_info) -> tuple of size 12: parameter
             "id" of type "obj_name" (A string used as a name for an object.
             Any string consisting of alphanumeric characters and the
             characters |._- that is not an integer is acceptable.), parameter
             "type" of type "type_string" (A type string. Specifies the type
             and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "moddate" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "instance" of Long,
             parameter "command" of String, parameter "lastmodifier" of type
             "username" (Login name of a KBase user account.), parameter
             "owner" of type "username" (Login name of a KBase user account.),
             parameter "workspace" of type "ws_name" (A string used as a name
             for a workspace. Any string consisting of alphanumeric characters
             and "_", ".", or "-" that is not an integer is acceptable. The
             name may optionally be prefixed with the workspace owner's user
             name and a colon, e.g. kbasetest:my_workspace.), parameter "ref"
             of String, parameter "chsum" of String, parameter "metadata" of
             type "usermeta" (User provided metadata about an object. Arbitrary
             key-value pairs provided by the user.) -> mapping from String to
             String, parameter "objid" of type "obj_id" (The unique, permanent
             numerical ID of an object.)
          """
          return self._client.call_method(
              'Workspace.get_object',
              [params], self._service_ver, context)
  
      def get_object_provenance(self, object_ids, context=None):
          """
          DEPRECATED
          Get object provenance from the workspace.
          @deprecated Workspace.get_objects2
          :param object_ids: instance of list of type "ObjectIdentity" (An
             object identifier. Select an object by either: One, and only one,
             of the numerical id or name of the workspace. ws_id wsid - the
             numerical ID of the workspace. ws_name workspace - the name of the
             workspace. AND One, and only one, of the numerical id or name of
             the object. obj_id objid- the numerical ID of the object. obj_name
             name - name of the object. OPTIONALLY obj_ver ver - the version of
             the object. OR an object reference string: obj_ref ref - an object
             reference string.) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.)
          :returns: instance of list of type "ObjectProvenanceInfo" (DEPRECATED
             The provenance and supplemental info for an object. object_info
             info - information about the object. list<ProvenanceAction>
             provenance - the object's provenance. username creator - the user
             that first saved the object to the workspace. ws_id orig_wsid -
             the id of the workspace in which this object was originally saved.
             Missing for objects saved prior to version 0.4.1. timestamp
             created - the date the object was first saved to the workspace.
             epoch epoch - the date the object was first saved to the
             workspace. list<obj_ref> - the references contained within the
             object. obj_ref copied - the reference of the source object if
             this object is a copy and the copy source exists and is
             accessible. null otherwise. boolean copy_source_inaccessible -
             true if the object was copied from another object, but that object
             is no longer accessible to the user. False otherwise.
             mapping<id_type, list<extracted_id>> extracted_ids - any ids
             extracted from the object. string handle_error - if an error
             occurs while setting ACLs on embedded handle IDs, it will be
             reported here. string handle_stacktrace - the stacktrace for
             handle_error. @deprecated) -> structure: parameter "info" of type
             "object_info" (Information about an object, including user
             provided metadata. obj_id objid - the numerical id of the object.
             obj_name name - the name of the object. type_string type - the
             type of the object. timestamp save_date - the save date of the
             object. obj_ver ver - the version of the object. username saved_by
             - the user that saved or copied the object. ws_id wsid - the
             workspace containing the object. ws_name workspace - the workspace
             containing the object. string chsum - the md5 checksum of the
             object. int size - the size of the object in bytes. usermeta meta
             - arbitrary user-supplied metadata about the object.) -> tuple of
             size 11: parameter "objid" of type "obj_id" (The unique, permanent
             numerical ID of an object.), parameter "name" of type "obj_name"
             (A string used as a name for an object. Any string consisting of
             alphanumeric characters and the characters |._- that is not an
             integer is acceptable.), parameter "type" of type "type_string" (A
             type string. Specifies the type and its version in a single string
             in the format [module].[typename]-[major].[minor]: module - a
             string. The module name of the typespec containing the type.
             typename - a string. The name of the type as assigned by the
             typedef statement. major - an integer. The major version of the
             type. A change in the major version implies the type has changed
             in a non-backwards compatible way. minor - an integer. The minor
             version of the type. A change in the minor version implies that
             the type has changed in a way that is backwards compatible with
             previous type definitions. In many cases, the major and minor
             versions are optional, and if not provided the most recent version
             will be used. Example: MyModule.MyType-3.1), parameter "save_date"
             of type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ,
             where Z is either the character Z (representing the UTC timezone)
             or the difference in time to UTC in the format +/-HHMM, eg:
             2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC
             time) 2013-04-03T08:56:32Z (UTC time)), parameter "version" of
             Long, parameter "saved_by" of type "username" (Login name of a
             KBase user account.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter
             "workspace" of type "ws_name" (A string used as a name for a
             workspace. Any string consisting of alphanumeric characters and
             "_", ".", or "-" that is not an integer is acceptable. The name
             may optionally be prefixed with the workspace owner's user name
             and a colon, e.g. kbasetest:my_workspace.), parameter "chsum" of
             String, parameter "size" of Long, parameter "meta" of type
             "usermeta" (User provided metadata about an object. Arbitrary
             key-value pairs provided by the user.) -> mapping from String to
             String, parameter "provenance" of list of type "ProvenanceAction"
             (A provenance action. A provenance action (PA) is an action taken
             while transforming one data object to another. There may be
             several PAs taken in series. A PA is typically running a script,
             running an api command, etc. All of the following fields are
             optional, but more information provided equates to better data
             provenance. resolved_ws_objects should never be set by the user;
             it is set by the workspace service when returning data. On input,
             only one of the time or epoch may be supplied. Both are supplied
             on output. The maximum size of the entire provenance object,
             including all actions, is 1MB. timestamp time - the time the
             action was started epoch epoch - the time the action was started.
             string caller - the name or id of the invoker of this provenance
             action. In most cases, this will be the same for all PAs. string
             service - the name of the service that performed this action.
             string service_ver - the version of the service that performed
             this action. string method - the method of the service that
             performed this action. list<UnspecifiedObject> method_params - the
             parameters of the method that performed this action. If an object
             in the parameters is a workspace object, also put the object
             reference in the input_ws_object list. string script - the name of
             the script that performed this action. string script_ver - the
             version of the script that performed this action. string
             script_command_line - the command line provided to the script that
             performed this action. If workspace objects were provided in the
             command line, also put the object reference in the input_ws_object
             list. list<ref_string> input_ws_objects - the workspace objects
             that were used as input to this action; typically these will also
             be present as parts of the method_params or the
             script_command_line arguments. A reference path into the object
             graph may be supplied. list<obj_ref> resolved_ws_objects - the
             workspace objects ids from input_ws_objects resolved to permanent
             workspace object references by the workspace service. list<string>
             intermediate_incoming - if the previous action produced output
             that 1) was not stored in a referrable way, and 2) is used as
             input for this action, provide it with an arbitrary and unique ID
             here, in the order of the input arguments to this action. These
             IDs can be used in the method_params argument. list<string>
             intermediate_outgoing - if this action produced output that 1) was
             not stored in a referrable way, and 2) is used as input for the
             next action, provide it with an arbitrary and unique ID here, in
             the order of the output values from this action. These IDs can be
             used in the intermediate_incoming argument in the next action.
             list<ExternalDataUnit> external_data - data external to the
             workspace that was either imported to the workspace or used to
             create a workspace object. list<SubAction> subactions - the
             subactions taken as a part of this action. mapping<string, string>
             custom - user definable custom provenance fields and their values.
             string description - a free text description of this action.) ->
             structure: parameter "time" of type "timestamp" (A time in the
             format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "epoch" of type "epoch" (A Unix epoch (the time
             since 00:00:00 1/1/1970 UTC) in milliseconds.), parameter "caller"
             of String, parameter "service" of String, parameter "service_ver"
             of String, parameter "method" of String, parameter "method_params"
             of list of unspecified object, parameter "script" of String,
             parameter "script_ver" of String, parameter "script_command_line"
             of String, parameter "input_ws_objects" of list of type
             "ref_string" (A chain of objects with references to one another as
             a string. A single string that is semantically identical to
             ref_chain above. Represents a path from one workspace object to
             another through an arbitrarily number of intermediate objects
             where each object has a dependency or provenance reference to the
             next object. Each entry is an obj_ref as defined earlier. Entries
             are separated by semicolons. Whitespace is ignored. Examples:
             3/5/6; kbaseuser:myworkspace/myobject; 5/myobject/2 aworkspace/6),
             parameter "resolved_ws_objects" of list of type "obj_ref" (A
             string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "intermediate_incoming" of list of String, parameter
             "intermediate_outgoing" of list of String, parameter
             "external_data" of list of type "ExternalDataUnit" (An external
             data unit. A piece of data from a source outside the Workspace. On
             input, only one of the resource_release_date or
             resource_release_epoch may be supplied. Both are supplied on
             output. string resource_name - the name of the resource, for
             example JGI. string resource_url - the url of the resource, for
             example http://genome.jgi.doe.gov string resource_version -
             version of the resource timestamp resource_release_date - the
             release date of the resource epoch resource_release_epoch - the
             release date of the resource string data_url - the url of the
             data, for example
             http://genome.jgi.doe.gov/pages/dynamicOrganismDownload.jsf?
             organism=BlaspURHD0036 string data_id - the id of the data, for
             example 7625.2.79179.AGTTCC.adnq.fastq.gz string description - a
             free text description of the data.) -> structure: parameter
             "resource_name" of String, parameter "resource_url" of String,
             parameter "resource_version" of String, parameter
             "resource_release_date" of type "timestamp" (A time in the format
             YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "resource_release_epoch" of type "epoch" (A Unix
             epoch (the time since 00:00:00 1/1/1970 UTC) in milliseconds.),
             parameter "data_url" of String, parameter "data_id" of String,
             parameter "description" of String, parameter "subactions" of list
             of type "SubAction" (Information about a subaction that is invoked
             by a provenance action. A provenance action (PA) may invoke
             subactions (SA), e.g. calling a separate piece of code, a service,
             or a script. In most cases these calls are the same from PA to PA
             and so do not need to be listed in the provenance since providing
             information about the PA alone provides reproducibility. In some
             cases, however, SAs may change over time, such that invoking the
             same PA with the same parameters may produce different results.
             For example, if a PA calls a remote server, that server may be
             updated between a PA invoked on day T and another PA invoked on
             day T+1. The SubAction structure allows for specifying information
             about SAs that may dynamically change from PA invocation to PA
             invocation. string name - the name of the SA. string ver - the
             version of SA. string code_url - a url pointing to the SA's
             codebase. string commit - a version control commit ID for the SA.
             string endpoint_url - a url pointing to the access point for the
             SA - a server url, for instance.) -> structure: parameter "name"
             of String, parameter "ver" of String, parameter "code_url" of
             String, parameter "commit" of String, parameter "endpoint_url" of
             String, parameter "custom" of mapping from String to String,
             parameter "description" of String, parameter "creator" of type
             "username" (Login name of a KBase user account.), parameter
             "orig_wsid" of type "ws_id" (The unique, permanent numerical ID of
             a workspace.), parameter "created" of type "timestamp" (A time in
             the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "epoch" of type "epoch" (A Unix epoch (the time
             since 00:00:00 1/1/1970 UTC) in milliseconds.), parameter "refs"
             of list of type "obj_ref" (A string that uniquely identifies an
             object in the workspace service. The format is [ws_name or
             id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "copied" of type "obj_ref" (A
             string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "copy_source_inaccessible" of type "boolean" (A boolean. 0 =
             false, other = true.), parameter "extracted_ids" of mapping from
             type "id_type" (An id type (e.g. from a typespec @id annotation:
             @id [idtype])) to list of type "extracted_id" (An id extracted
             from an object.), parameter "handle_error" of String, parameter
             "handle_stacktrace" of String
          """
          return self._client.call_method(
              'Workspace.get_object_provenance',
              [object_ids], self._service_ver, context)
  
      def get_objects(self, object_ids, context=None):
          """
          DEPRECATED
          Get objects from the workspace.
          @deprecated Workspace.get_objects2
          :param object_ids: instance of list of type "ObjectIdentity" (An
             object identifier. Select an object by either: One, and only one,
             of the numerical id or name of the workspace. ws_id wsid - the
             numerical ID of the workspace. ws_name workspace - the name of the
             workspace. AND One, and only one, of the numerical id or name of
             the object. obj_id objid- the numerical ID of the object. obj_name
             name - name of the object. OPTIONALLY obj_ver ver - the version of
             the object. OR an object reference string: obj_ref ref - an object
             reference string.) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.)
          :returns: instance of list of type "ObjectData" (The data and
             supplemental info for an object. UnspecifiedObject data - the
             object's data or subset data. object_info info - information about
             the object. list<obj_ref> path - the path to the object through
             the object reference graph. All the references in the path are
             absolute. list<ProvenanceAction> provenance - the object's
             provenance. username creator - the user that first saved the
             object to the workspace. ws_id orig_wsid - the id of the workspace
             in which this object was originally saved. Missing for objects
             saved prior to version 0.4.1. timestamp created - the date the
             object was first saved to the workspace. epoch epoch - the date
             the object was first saved to the workspace. list<obj_ref> refs -
             the references contained within the object. obj_ref copied - the
             reference of the source object if this object is a copy and the
             copy source exists and is accessible. null otherwise. boolean
             copy_source_inaccessible - true if the object was copied from
             another object, but that object is no longer accessible to the
             user. False otherwise. mapping<id_type, list<extracted_id>>
             extracted_ids - any ids extracted from the object. string
             handle_error - if an error occurs while setting ACLs on embedded
             handle IDs, it will be reported here. string handle_stacktrace -
             the stacktrace for handle_error.) -> structure: parameter "data"
             of unspecified object, parameter "info" of type "object_info"
             (Information about an object, including user provided metadata.
             obj_id objid - the numerical id of the object. obj_name name - the
             name of the object. type_string type - the type of the object.
             timestamp save_date - the save date of the object. obj_ver ver -
             the version of the object. username saved_by - the user that saved
             or copied the object. ws_id wsid - the workspace containing the
             object. ws_name workspace - the workspace containing the object.
             string chsum - the md5 checksum of the object. int size - the size
             of the object in bytes. usermeta meta - arbitrary user-supplied
             metadata about the object.) -> tuple of size 11: parameter "objid"
             of type "obj_id" (The unique, permanent numerical ID of an
             object.), parameter "name" of type "obj_name" (A string used as a
             name for an object. Any string consisting of alphanumeric
             characters and the characters |._- that is not an integer is
             acceptable.), parameter "type" of type "type_string" (A type
             string. Specifies the type and its version in a single string in
             the format [module].[typename]-[major].[minor]: module - a string.
             The module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String, parameter "path" of
             list of type "obj_ref" (A string that uniquely identifies an
             object in the workspace service. The format is [ws_name or
             id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "provenance" of list of type
             "ProvenanceAction" (A provenance action. A provenance action (PA)
             is an action taken while transforming one data object to another.
             There may be several PAs taken in series. A PA is typically
             running a script, running an api command, etc. All of the
             following fields are optional, but more information provided
             equates to better data provenance. resolved_ws_objects should
             never be set by the user; it is set by the workspace service when
             returning data. On input, only one of the time or epoch may be
             supplied. Both are supplied on output. The maximum size of the
             entire provenance object, including all actions, is 1MB. timestamp
             time - the time the action was started epoch epoch - the time the
             action was started. string caller - the name or id of the invoker
             of this provenance action. In most cases, this will be the same
             for all PAs. string service - the name of the service that
             performed this action. string service_ver - the version of the
             service that performed this action. string method - the method of
             the service that performed this action. list<UnspecifiedObject>
             method_params - the parameters of the method that performed this
             action. If an object in the parameters is a workspace object, also
             put the object reference in the input_ws_object list. string
             script - the name of the script that performed this action. string
             script_ver - the version of the script that performed this action.
             string script_command_line - the command line provided to the
             script that performed this action. If workspace objects were
             provided in the command line, also put the object reference in the
             input_ws_object list. list<ref_string> input_ws_objects - the
             workspace objects that were used as input to this action;
             typically these will also be present as parts of the method_params
             or the script_command_line arguments. A reference path into the
             object graph may be supplied. list<obj_ref> resolved_ws_objects -
             the workspace objects ids from input_ws_objects resolved to
             permanent workspace object references by the workspace service.
             list<string> intermediate_incoming - if the previous action
             produced output that 1) was not stored in a referrable way, and 2)
             is used as input for this action, provide it with an arbitrary and
             unique ID here, in the order of the input arguments to this
             action. These IDs can be used in the method_params argument.
             list<string> intermediate_outgoing - if this action produced
             output that 1) was not stored in a referrable way, and 2) is used
             as input for the next action, provide it with an arbitrary and
             unique ID here, in the order of the output values from this
             action. These IDs can be used in the intermediate_incoming
             argument in the next action. list<ExternalDataUnit> external_data
             - data external to the workspace that was either imported to the
             workspace or used to create a workspace object. list<SubAction>
             subactions - the subactions taken as a part of this action.
             mapping<string, string> custom - user definable custom provenance
             fields and their values. string description - a free text
             description of this action.) -> structure: parameter "time" of
             type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where
             Z is either the character Z (representing the UTC timezone) or the
             difference in time to UTC in the format +/-HHMM, eg:
             2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC
             time) 2013-04-03T08:56:32Z (UTC time)), parameter "epoch" of type
             "epoch" (A Unix epoch (the time since 00:00:00 1/1/1970 UTC) in
             milliseconds.), parameter "caller" of String, parameter "service"
             of String, parameter "service_ver" of String, parameter "method"
             of String, parameter "method_params" of list of unspecified
             object, parameter "script" of String, parameter "script_ver" of
             String, parameter "script_command_line" of String, parameter
             "input_ws_objects" of list of type "ref_string" (A chain of
             objects with references to one another as a string. A single
             string that is semantically identical to ref_chain above.
             Represents a path from one workspace object to another through an
             arbitrarily number of intermediate objects where each object has a
             dependency or provenance reference to the next object. Each entry
             is an obj_ref as defined earlier. Entries are separated by
             semicolons. Whitespace is ignored. Examples: 3/5/6;
             kbaseuser:myworkspace/myobject; 5/myobject/2 aworkspace/6),
             parameter "resolved_ws_objects" of list of type "obj_ref" (A
             string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "intermediate_incoming" of list of String, parameter
             "intermediate_outgoing" of list of String, parameter
             "external_data" of list of type "ExternalDataUnit" (An external
             data unit. A piece of data from a source outside the Workspace. On
             input, only one of the resource_release_date or
             resource_release_epoch may be supplied. Both are supplied on
             output. string resource_name - the name of the resource, for
             example JGI. string resource_url - the url of the resource, for
             example http://genome.jgi.doe.gov string resource_version -
             version of the resource timestamp resource_release_date - the
             release date of the resource epoch resource_release_epoch - the
             release date of the resource string data_url - the url of the
             data, for example
             http://genome.jgi.doe.gov/pages/dynamicOrganismDownload.jsf?
             organism=BlaspURHD0036 string data_id - the id of the data, for
             example 7625.2.79179.AGTTCC.adnq.fastq.gz string description - a
             free text description of the data.) -> structure: parameter
             "resource_name" of String, parameter "resource_url" of String,
             parameter "resource_version" of String, parameter
             "resource_release_date" of type "timestamp" (A time in the format
             YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "resource_release_epoch" of type "epoch" (A Unix
             epoch (the time since 00:00:00 1/1/1970 UTC) in milliseconds.),
             parameter "data_url" of String, parameter "data_id" of String,
             parameter "description" of String, parameter "subactions" of list
             of type "SubAction" (Information about a subaction that is invoked
             by a provenance action. A provenance action (PA) may invoke
             subactions (SA), e.g. calling a separate piece of code, a service,
             or a script. In most cases these calls are the same from PA to PA
             and so do not need to be listed in the provenance since providing
             information about the PA alone provides reproducibility. In some
             cases, however, SAs may change over time, such that invoking the
             same PA with the same parameters may produce different results.
             For example, if a PA calls a remote server, that server may be
             updated between a PA invoked on day T and another PA invoked on
             day T+1. The SubAction structure allows for specifying information
             about SAs that may dynamically change from PA invocation to PA
             invocation. string name - the name of the SA. string ver - the
             version of SA. string code_url - a url pointing to the SA's
             codebase. string commit - a version control commit ID for the SA.
             string endpoint_url - a url pointing to the access point for the
             SA - a server url, for instance.) -> structure: parameter "name"
             of String, parameter "ver" of String, parameter "code_url" of
             String, parameter "commit" of String, parameter "endpoint_url" of
             String, parameter "custom" of mapping from String to String,
             parameter "description" of String, parameter "creator" of type
             "username" (Login name of a KBase user account.), parameter
             "orig_wsid" of type "ws_id" (The unique, permanent numerical ID of
             a workspace.), parameter "created" of type "timestamp" (A time in
             the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "epoch" of type "epoch" (A Unix epoch (the time
             since 00:00:00 1/1/1970 UTC) in milliseconds.), parameter "refs"
             of list of type "obj_ref" (A string that uniquely identifies an
             object in the workspace service. The format is [ws_name or
             id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "copied" of type "obj_ref" (A
             string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "copy_source_inaccessible" of type "boolean" (A boolean. 0 =
             false, other = true.), parameter "extracted_ids" of mapping from
             type "id_type" (An id type (e.g. from a typespec @id annotation:
             @id [idtype])) to list of type "extracted_id" (An id extracted
             from an object.), parameter "handle_error" of String, parameter
             "handle_stacktrace" of String
          """
          return self._client.call_method(
              'Workspace.get_objects',
              [object_ids], self._service_ver, context)
  
      def get_objects2(self, params, context=None):
          """
          Get objects from the workspace.
          :param params: instance of type "GetObjects2Params" (Input parameters
             for the get_objects2 function. Required parameters:
             list<ObjectSpecification> objects - the list of object
             specifications for the objects to return (via reference chain and
             as a subset if specified). Optional parameters: boolean
             ignoreErrors - Don't throw an exception if an object cannot be
             accessed; return null for that object's information instead.
             Default false. boolean no_data - return the provenance,
             references, and object_info for this object without the object
             data. Default false.) -> structure: parameter "objects" of list of
             type "ObjectSpecification" (An Object Specification (OS). Inherits
             from ObjectIdentity (OI). Specifies which object, and which parts
             of that object, to retrieve from the Workspace Service. The fields
             wsid, workspace, objid, name, and ver are identical to the OI
             fields. The ref field's behavior is extended from OI. It maintains
             its previous behavior, but now also can act as a reference string.
             See reference following below for more information. REFERENCE
             FOLLOWING: Reference following guarantees that a user that has
             access to an object can always see a) objects that are referenced
             inside the object and b) objects that are referenced in the
             object's provenance. This ensures that the user has visibility
             into the entire provenance of the object and the object's object
             dependencies (e.g. references). The user must have at least read
             access to the object specified in this SO, but need not have
             access to any further objects in the reference chain, and those
             objects may be deleted. Optional reference following fields: Note
             that only one of the following fields may be specified. ref_chain
             obj_path - a path to the desired object from the object specified
             in this OS. In other words, the object specified in this OS is
             assumed to be accessible to the user, and the objects in the
             object path represent a chain of references to the desired object
             at the end of the object path. If the references are all valid,
             the desired object will be returned. - OR - list<obj_ref>
             obj_ref_path - shorthand for the obj_path. - OR - ref_chain
             to_obj_path - identical to obj_path, except that the path is TO
             the object specified in this OS, rather than from the object. In
             other words the object specified by wsid/objid/ref etc. is the end
             of the path, and to_obj_path is the rest of the path. The user
             must have access to the first object in the to_obj_path. - OR -
             list<obj_ref> to_obj_ref_path - shorthand for the to_obj_path. -
             OR - ref_string ref - A string representing a reference path from
             one object to another. Unlike the previous reference following
             options, the ref_string represents the ENTIRE path from the source
             object to the target object. As with the OI object, the ref field
             may contain a single reference. - OR - boolean find_refence_path -
             This is the last, slowest, and most expensive resort for getting a
             referenced object - do not use this method unless the path to the
             object is unavailable by any other means. Setting the
             find_refence_path parameter to true means that the workspace
             service will search through the object reference graph from the
             object specified in this OS to find an object that 1) the user can
             access, and 2) has an unbroken reference path to the target
             object. If the search succeeds, the object will be returned as
             normal. Note that the search will automatically fail after a
             certain (but much larger than necessary for the vast majority of
             cases) number of objects are traversed. OBJECT SUBSETS: When
             selecting a subset of an array in an object, the returned array is
             compressed to the size of the subset, but the ordering of the
             array is maintained. For example, if the array stored at the
             'feature' key of a Genome object has 4000 entries, and the object
             paths provided are: /feature/7 /feature/3015 /feature/700 The
             returned feature array will be of length three and the entries
             will consist, in order, of the 7th, 700th, and 3015th entries of
             the original array. Optional object subset fields:
             list<object_path> included - the portions of the object to include
             in the object subset. boolean strict_maps - if true, throw an
             exception if the subset specification traverses a non-existent map
             key (default false) boolean strict_arrays - if true, throw an
             exception if the subset specification exceeds the size of an array
             (default true)) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type
             "ref_string" (A chain of objects with references to one another as
             a string. A single string that is semantically identical to
             ref_chain above. Represents a path from one workspace object to
             another through an arbitrarily number of intermediate objects
             where each object has a dependency or provenance reference to the
             next object. Each entry is an obj_ref as defined earlier. Entries
             are separated by semicolons. Whitespace is ignored. Examples:
             3/5/6; kbaseuser:myworkspace/myobject; 5/myobject/2 aworkspace/6),
             parameter "obj_path" of type "ref_chain" (A chain of objects with
             references to one another. An object reference chain consists of a
             list of objects where the nth object possesses a reference, either
             in the object itself or in the object provenance, to the n+1th
             object.) -> list of type "ObjectIdentity" (An object identifier.
             Select an object by either: One, and only one, of the numerical id
             or name of the workspace. ws_id wsid - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace. AND One,
             and only one, of the numerical id or name of the object. obj_id
             objid- the numerical ID of the object. obj_name name - name of the
             object. OPTIONALLY obj_ver ver - the version of the object. OR an
             object reference string: obj_ref ref - an object reference
             string.) -> structure: parameter "workspace" of type "ws_name" (A
             string used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "obj_ref_path" of list of type "obj_ref" (A string that uniquely
             identifies an object in the workspace service. The format is
             [ws_name or id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "to_obj_path" of type
             "ref_chain" (A chain of objects with references to one another. An
             object reference chain consists of a list of objects where the nth
             object possesses a reference, either in the object itself or in
             the object provenance, to the n+1th object.) -> list of type
             "ObjectIdentity" (An object identifier. Select an object by
             either: One, and only one, of the numerical id or name of the
             workspace. ws_id wsid - the numerical ID of the workspace. ws_name
             workspace - the name of the workspace. AND One, and only one, of
             the numerical id or name of the object. obj_id objid- the
             numerical ID of the object. obj_name name - name of the object.
             OPTIONALLY obj_ver ver - the version of the object. OR an object
             reference string: obj_ref ref - an object reference string.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "wsid" of type "ws_id" (The unique, permanent numerical
             ID of a workspace.), parameter "name" of type "obj_name" (A string
             used as a name for an object. Any string consisting of
             alphanumeric characters and the characters |._- that is not an
             integer is acceptable.), parameter "objid" of type "obj_id" (The
             unique, permanent numerical ID of an object.), parameter "ver" of
             type "obj_ver" (An object version. The version of the object,
             starting at 1.), parameter "ref" of type "obj_ref" (A string that
             uniquely identifies an object in the workspace service. The format
             is [ws_name or id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "to_obj_ref_path" of list of
             type "obj_ref" (A string that uniquely identifies an object in the
             workspace service. The format is [ws_name or id]/[obj_name or
             id]/[obj_ver]. For example, MyFirstWorkspace/MyFirstObject/3 would
             identify the third version of an object called MyFirstObject in
             the workspace called MyFirstWorkspace. 42/Panic/1 would identify
             the first version of the object name Panic in workspace with id
             42. Towel/1/6 would identify the 6th version of the object with id
             1 in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "find_reference_path" of type "boolean" (A boolean. 0 = false,
             other = true.), parameter "included" of list of type "object_path"
             (A path into an object. Identify a sub portion of an object by
             providing the path, delimited by a slash (/), to that portion of
             the object. Thus the path may not have slashes in the structure or
             mapping keys. Examples: /foo/bar/3 - specifies the bar key of the
             foo mapping and the 3rd entry of the array if bar maps to an array
             or the value mapped to the string "3" if bar maps to a map.
             /foo/bar/[*]/baz - specifies the baz field of all the objects in
             the list mapped by the bar key in the map foo. /foo/asterisk/baz -
             specifies the baz field of all the objects in the values of the
             foo mapping. Swap 'asterisk' for * in the path. In case you need
             to use '/' or '~' in path items use JSON Pointer notation defined
             here: http://tools.ietf.org/html/rfc6901), parameter "strict_maps"
             of type "boolean" (A boolean. 0 = false, other = true.), parameter
             "strict_arrays" of type "boolean" (A boolean. 0 = false, other =
             true.), parameter "ignoreErrors" of type "boolean" (A boolean. 0 =
             false, other = true.), parameter "no_data" of type "boolean" (A
             boolean. 0 = false, other = true.)
          :returns: instance of type "GetObjects2Results" (Results from the
             get_objects2 function. list<ObjectData> data - the returned
             objects.) -> structure: parameter "data" of list of type
             "ObjectData" (The data and supplemental info for an object.
             UnspecifiedObject data - the object's data or subset data.
             object_info info - information about the object. list<obj_ref>
             path - the path to the object through the object reference graph.
             All the references in the path are absolute.
             list<ProvenanceAction> provenance - the object's provenance.
             username creator - the user that first saved the object to the
             workspace. ws_id orig_wsid - the id of the workspace in which this
             object was originally saved. Missing for objects saved prior to
             version 0.4.1. timestamp created - the date the object was first
             saved to the workspace. epoch epoch - the date the object was
             first saved to the workspace. list<obj_ref> refs - the references
             contained within the object. obj_ref copied - the reference of the
             source object if this object is a copy and the copy source exists
             and is accessible. null otherwise. boolean
             copy_source_inaccessible - true if the object was copied from
             another object, but that object is no longer accessible to the
             user. False otherwise. mapping<id_type, list<extracted_id>>
             extracted_ids - any ids extracted from the object. string
             handle_error - if an error occurs while setting ACLs on embedded
             handle IDs, it will be reported here. string handle_stacktrace -
             the stacktrace for handle_error.) -> structure: parameter "data"
             of unspecified object, parameter "info" of type "object_info"
             (Information about an object, including user provided metadata.
             obj_id objid - the numerical id of the object. obj_name name - the
             name of the object. type_string type - the type of the object.
             timestamp save_date - the save date of the object. obj_ver ver -
             the version of the object. username saved_by - the user that saved
             or copied the object. ws_id wsid - the workspace containing the
             object. ws_name workspace - the workspace containing the object.
             string chsum - the md5 checksum of the object. int size - the size
             of the object in bytes. usermeta meta - arbitrary user-supplied
             metadata about the object.) -> tuple of size 11: parameter "objid"
             of type "obj_id" (The unique, permanent numerical ID of an
             object.), parameter "name" of type "obj_name" (A string used as a
             name for an object. Any string consisting of alphanumeric
             characters and the characters |._- that is not an integer is
             acceptable.), parameter "type" of type "type_string" (A type
             string. Specifies the type and its version in a single string in
             the format [module].[typename]-[major].[minor]: module - a string.
             The module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String, parameter "path" of
             list of type "obj_ref" (A string that uniquely identifies an
             object in the workspace service. The format is [ws_name or
             id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "provenance" of list of type
             "ProvenanceAction" (A provenance action. A provenance action (PA)
             is an action taken while transforming one data object to another.
             There may be several PAs taken in series. A PA is typically
             running a script, running an api command, etc. All of the
             following fields are optional, but more information provided
             equates to better data provenance. resolved_ws_objects should
             never be set by the user; it is set by the workspace service when
             returning data. On input, only one of the time or epoch may be
             supplied. Both are supplied on output. The maximum size of the
             entire provenance object, including all actions, is 1MB. timestamp
             time - the time the action was started epoch epoch - the time the
             action was started. string caller - the name or id of the invoker
             of this provenance action. In most cases, this will be the same
             for all PAs. string service - the name of the service that
             performed this action. string service_ver - the version of the
             service that performed this action. string method - the method of
             the service that performed this action. list<UnspecifiedObject>
             method_params - the parameters of the method that performed this
             action. If an object in the parameters is a workspace object, also
             put the object reference in the input_ws_object list. string
             script - the name of the script that performed this action. string
             script_ver - the version of the script that performed this action.
             string script_command_line - the command line provided to the
             script that performed this action. If workspace objects were
             provided in the command line, also put the object reference in the
             input_ws_object list. list<ref_string> input_ws_objects - the
             workspace objects that were used as input to this action;
             typically these will also be present as parts of the method_params
             or the script_command_line arguments. A reference path into the
             object graph may be supplied. list<obj_ref> resolved_ws_objects -
             the workspace objects ids from input_ws_objects resolved to
             permanent workspace object references by the workspace service.
             list<string> intermediate_incoming - if the previous action
             produced output that 1) was not stored in a referrable way, and 2)
             is used as input for this action, provide it with an arbitrary and
             unique ID here, in the order of the input arguments to this
             action. These IDs can be used in the method_params argument.
             list<string> intermediate_outgoing - if this action produced
             output that 1) was not stored in a referrable way, and 2) is used
             as input for the next action, provide it with an arbitrary and
             unique ID here, in the order of the output values from this
             action. These IDs can be used in the intermediate_incoming
             argument in the next action. list<ExternalDataUnit> external_data
             - data external to the workspace that was either imported to the
             workspace or used to create a workspace object. list<SubAction>
             subactions - the subactions taken as a part of this action.
             mapping<string, string> custom - user definable custom provenance
             fields and their values. string description - a free text
             description of this action.) -> structure: parameter "time" of
             type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where
             Z is either the character Z (representing the UTC timezone) or the
             difference in time to UTC in the format +/-HHMM, eg:
             2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC
             time) 2013-04-03T08:56:32Z (UTC time)), parameter "epoch" of type
             "epoch" (A Unix epoch (the time since 00:00:00 1/1/1970 UTC) in
             milliseconds.), parameter "caller" of String, parameter "service"
             of String, parameter "service_ver" of String, parameter "method"
             of String, parameter "method_params" of list of unspecified
             object, parameter "script" of String, parameter "script_ver" of
             String, parameter "script_command_line" of String, parameter
             "input_ws_objects" of list of type "ref_string" (A chain of
             objects with references to one another as a string. A single
             string that is semantically identical to ref_chain above.
             Represents a path from one workspace object to another through an
             arbitrarily number of intermediate objects where each object has a
             dependency or provenance reference to the next object. Each entry
             is an obj_ref as defined earlier. Entries are separated by
             semicolons. Whitespace is ignored. Examples: 3/5/6;
             kbaseuser:myworkspace/myobject; 5/myobject/2 aworkspace/6),
             parameter "resolved_ws_objects" of list of type "obj_ref" (A
             string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "intermediate_incoming" of list of String, parameter
             "intermediate_outgoing" of list of String, parameter
             "external_data" of list of type "ExternalDataUnit" (An external
             data unit. A piece of data from a source outside the Workspace. On
             input, only one of the resource_release_date or
             resource_release_epoch may be supplied. Both are supplied on
             output. string resource_name - the name of the resource, for
             example JGI. string resource_url - the url of the resource, for
             example http://genome.jgi.doe.gov string resource_version -
             version of the resource timestamp resource_release_date - the
             release date of the resource epoch resource_release_epoch - the
             release date of the resource string data_url - the url of the
             data, for example
             http://genome.jgi.doe.gov/pages/dynamicOrganismDownload.jsf?
             organism=BlaspURHD0036 string data_id - the id of the data, for
             example 7625.2.79179.AGTTCC.adnq.fastq.gz string description - a
             free text description of the data.) -> structure: parameter
             "resource_name" of String, parameter "resource_url" of String,
             parameter "resource_version" of String, parameter
             "resource_release_date" of type "timestamp" (A time in the format
             YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "resource_release_epoch" of type "epoch" (A Unix
             epoch (the time since 00:00:00 1/1/1970 UTC) in milliseconds.),
             parameter "data_url" of String, parameter "data_id" of String,
             parameter "description" of String, parameter "subactions" of list
             of type "SubAction" (Information about a subaction that is invoked
             by a provenance action. A provenance action (PA) may invoke
             subactions (SA), e.g. calling a separate piece of code, a service,
             or a script. In most cases these calls are the same from PA to PA
             and so do not need to be listed in the provenance since providing
             information about the PA alone provides reproducibility. In some
             cases, however, SAs may change over time, such that invoking the
             same PA with the same parameters may produce different results.
             For example, if a PA calls a remote server, that server may be
             updated between a PA invoked on day T and another PA invoked on
             day T+1. The SubAction structure allows for specifying information
             about SAs that may dynamically change from PA invocation to PA
             invocation. string name - the name of the SA. string ver - the
             version of SA. string code_url - a url pointing to the SA's
             codebase. string commit - a version control commit ID for the SA.
             string endpoint_url - a url pointing to the access point for the
             SA - a server url, for instance.) -> structure: parameter "name"
             of String, parameter "ver" of String, parameter "code_url" of
             String, parameter "commit" of String, parameter "endpoint_url" of
             String, parameter "custom" of mapping from String to String,
             parameter "description" of String, parameter "creator" of type
             "username" (Login name of a KBase user account.), parameter
             "orig_wsid" of type "ws_id" (The unique, permanent numerical ID of
             a workspace.), parameter "created" of type "timestamp" (A time in
             the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "epoch" of type "epoch" (A Unix epoch (the time
             since 00:00:00 1/1/1970 UTC) in milliseconds.), parameter "refs"
             of list of type "obj_ref" (A string that uniquely identifies an
             object in the workspace service. The format is [ws_name or
             id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "copied" of type "obj_ref" (A
             string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "copy_source_inaccessible" of type "boolean" (A boolean. 0 =
             false, other = true.), parameter "extracted_ids" of mapping from
             type "id_type" (An id type (e.g. from a typespec @id annotation:
             @id [idtype])) to list of type "extracted_id" (An id extracted
             from an object.), parameter "handle_error" of String, parameter
             "handle_stacktrace" of String
          """
          return self._client.call_method(
              'Workspace.get_objects2',
              [params], self._service_ver, context)
  
      def get_object_subset(self, sub_object_ids, context=None):
          """
          DEPRECATED
          Get portions of objects from the workspace.
          When selecting a subset of an array in an object, the returned
          array is compressed to the size of the subset, but the ordering of
          the array is maintained. For example, if the array stored at the
          'feature' key of a Genome object has 4000 entries, and the object paths
          provided are:
                  /feature/7
                  /feature/3015
                  /feature/700
          The returned feature array will be of length three and the entries will
          consist, in order, of the 7th, 700th, and 3015th entries of the
          original array.
          @deprecated Workspace.get_objects2
          :param sub_object_ids: instance of list of type "SubObjectIdentity"
             (DEPRECATED An object subset identifier. Select a subset of an
             object by: EITHER One, and only one, of the numerical id or name
             of the workspace. ws_id wsid - the numerical ID of the workspace.
             ws_name workspace - name of the workspace. AND One, and only one,
             of the numerical id or name of the object. obj_id objid- the
             numerical ID of the object. obj_name name - name of the object.
             OPTIONALLY obj_ver ver - the version of the object. OR an object
             reference string: obj_ref ref - an object reference string. AND a
             subset specification: list<object_path> included - the portions of
             the object to include in the object subset. boolean strict_maps -
             if true, throw an exception if the subset specification traverses
             a non-existant map key (default false) boolean strict_arrays - if
             true, throw an exception if the subset specification exceeds the
             size of an array (default true) @deprecated
             Workspace.ObjectSpecification) -> structure: parameter "workspace"
             of type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter "included" of
             list of type "object_path" (A path into an object. Identify a sub
             portion of an object by providing the path, delimited by a slash
             (/), to that portion of the object. Thus the path may not have
             slashes in the structure or mapping keys. Examples: /foo/bar/3 -
             specifies the bar key of the foo mapping and the 3rd entry of the
             array if bar maps to an array or the value mapped to the string
             "3" if bar maps to a map. /foo/bar/[*]/baz - specifies the baz
             field of all the objects in the list mapped by the bar key in the
             map foo. /foo/asterisk/baz - specifies the baz field of all the
             objects in the values of the foo mapping. Swap 'asterisk' for * in
             the path. In case you need to use '/' or '~' in path items use
             JSON Pointer notation defined here:
             http://tools.ietf.org/html/rfc6901), parameter "strict_maps" of
             type "boolean" (A boolean. 0 = false, other = true.), parameter
             "strict_arrays" of type "boolean" (A boolean. 0 = false, other =
             true.)
          :returns: instance of list of type "ObjectData" (The data and
             supplemental info for an object. UnspecifiedObject data - the
             object's data or subset data. object_info info - information about
             the object. list<obj_ref> path - the path to the object through
             the object reference graph. All the references in the path are
             absolute. list<ProvenanceAction> provenance - the object's
             provenance. username creator - the user that first saved the
             object to the workspace. ws_id orig_wsid - the id of the workspace
             in which this object was originally saved. Missing for objects
             saved prior to version 0.4.1. timestamp created - the date the
             object was first saved to the workspace. epoch epoch - the date
             the object was first saved to the workspace. list<obj_ref> refs -
             the references contained within the object. obj_ref copied - the
             reference of the source object if this object is a copy and the
             copy source exists and is accessible. null otherwise. boolean
             copy_source_inaccessible - true if the object was copied from
             another object, but that object is no longer accessible to the
             user. False otherwise. mapping<id_type, list<extracted_id>>
             extracted_ids - any ids extracted from the object. string
             handle_error - if an error occurs while setting ACLs on embedded
             handle IDs, it will be reported here. string handle_stacktrace -
             the stacktrace for handle_error.) -> structure: parameter "data"
             of unspecified object, parameter "info" of type "object_info"
             (Information about an object, including user provided metadata.
             obj_id objid - the numerical id of the object. obj_name name - the
             name of the object. type_string type - the type of the object.
             timestamp save_date - the save date of the object. obj_ver ver -
             the version of the object. username saved_by - the user that saved
             or copied the object. ws_id wsid - the workspace containing the
             object. ws_name workspace - the workspace containing the object.
             string chsum - the md5 checksum of the object. int size - the size
             of the object in bytes. usermeta meta - arbitrary user-supplied
             metadata about the object.) -> tuple of size 11: parameter "objid"
             of type "obj_id" (The unique, permanent numerical ID of an
             object.), parameter "name" of type "obj_name" (A string used as a
             name for an object. Any string consisting of alphanumeric
             characters and the characters |._- that is not an integer is
             acceptable.), parameter "type" of type "type_string" (A type
             string. Specifies the type and its version in a single string in
             the format [module].[typename]-[major].[minor]: module - a string.
             The module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String, parameter "path" of
             list of type "obj_ref" (A string that uniquely identifies an
             object in the workspace service. The format is [ws_name or
             id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "provenance" of list of type
             "ProvenanceAction" (A provenance action. A provenance action (PA)
             is an action taken while transforming one data object to another.
             There may be several PAs taken in series. A PA is typically
             running a script, running an api command, etc. All of the
             following fields are optional, but more information provided
             equates to better data provenance. resolved_ws_objects should
             never be set by the user; it is set by the workspace service when
             returning data. On input, only one of the time or epoch may be
             supplied. Both are supplied on output. The maximum size of the
             entire provenance object, including all actions, is 1MB. timestamp
             time - the time the action was started epoch epoch - the time the
             action was started. string caller - the name or id of the invoker
             of this provenance action. In most cases, this will be the same
             for all PAs. string service - the name of the service that
             performed this action. string service_ver - the version of the
             service that performed this action. string method - the method of
             the service that performed this action. list<UnspecifiedObject>
             method_params - the parameters of the method that performed this
             action. If an object in the parameters is a workspace object, also
             put the object reference in the input_ws_object list. string
             script - the name of the script that performed this action. string
             script_ver - the version of the script that performed this action.
             string script_command_line - the command line provided to the
             script that performed this action. If workspace objects were
             provided in the command line, also put the object reference in the
             input_ws_object list. list<ref_string> input_ws_objects - the
             workspace objects that were used as input to this action;
             typically these will also be present as parts of the method_params
             or the script_command_line arguments. A reference path into the
             object graph may be supplied. list<obj_ref> resolved_ws_objects -
             the workspace objects ids from input_ws_objects resolved to
             permanent workspace object references by the workspace service.
             list<string> intermediate_incoming - if the previous action
             produced output that 1) was not stored in a referrable way, and 2)
             is used as input for this action, provide it with an arbitrary and
             unique ID here, in the order of the input arguments to this
             action. These IDs can be used in the method_params argument.
             list<string> intermediate_outgoing - if this action produced
             output that 1) was not stored in a referrable way, and 2) is used
             as input for the next action, provide it with an arbitrary and
             unique ID here, in the order of the output values from this
             action. These IDs can be used in the intermediate_incoming
             argument in the next action. list<ExternalDataUnit> external_data
             - data external to the workspace that was either imported to the
             workspace or used to create a workspace object. list<SubAction>
             subactions - the subactions taken as a part of this action.
             mapping<string, string> custom - user definable custom provenance
             fields and their values. string description - a free text
             description of this action.) -> structure: parameter "time" of
             type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where
             Z is either the character Z (representing the UTC timezone) or the
             difference in time to UTC in the format +/-HHMM, eg:
             2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC
             time) 2013-04-03T08:56:32Z (UTC time)), parameter "epoch" of type
             "epoch" (A Unix epoch (the time since 00:00:00 1/1/1970 UTC) in
             milliseconds.), parameter "caller" of String, parameter "service"
             of String, parameter "service_ver" of String, parameter "method"
             of String, parameter "method_params" of list of unspecified
             object, parameter "script" of String, parameter "script_ver" of
             String, parameter "script_command_line" of String, parameter
             "input_ws_objects" of list of type "ref_string" (A chain of
             objects with references to one another as a string. A single
             string that is semantically identical to ref_chain above.
             Represents a path from one workspace object to another through an
             arbitrarily number of intermediate objects where each object has a
             dependency or provenance reference to the next object. Each entry
             is an obj_ref as defined earlier. Entries are separated by
             semicolons. Whitespace is ignored. Examples: 3/5/6;
             kbaseuser:myworkspace/myobject; 5/myobject/2 aworkspace/6),
             parameter "resolved_ws_objects" of list of type "obj_ref" (A
             string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "intermediate_incoming" of list of String, parameter
             "intermediate_outgoing" of list of String, parameter
             "external_data" of list of type "ExternalDataUnit" (An external
             data unit. A piece of data from a source outside the Workspace. On
             input, only one of the resource_release_date or
             resource_release_epoch may be supplied. Both are supplied on
             output. string resource_name - the name of the resource, for
             example JGI. string resource_url - the url of the resource, for
             example http://genome.jgi.doe.gov string resource_version -
             version of the resource timestamp resource_release_date - the
             release date of the resource epoch resource_release_epoch - the
             release date of the resource string data_url - the url of the
             data, for example
             http://genome.jgi.doe.gov/pages/dynamicOrganismDownload.jsf?
             organism=BlaspURHD0036 string data_id - the id of the data, for
             example 7625.2.79179.AGTTCC.adnq.fastq.gz string description - a
             free text description of the data.) -> structure: parameter
             "resource_name" of String, parameter "resource_url" of String,
             parameter "resource_version" of String, parameter
             "resource_release_date" of type "timestamp" (A time in the format
             YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "resource_release_epoch" of type "epoch" (A Unix
             epoch (the time since 00:00:00 1/1/1970 UTC) in milliseconds.),
             parameter "data_url" of String, parameter "data_id" of String,
             parameter "description" of String, parameter "subactions" of list
             of type "SubAction" (Information about a subaction that is invoked
             by a provenance action. A provenance action (PA) may invoke
             subactions (SA), e.g. calling a separate piece of code, a service,
             or a script. In most cases these calls are the same from PA to PA
             and so do not need to be listed in the provenance since providing
             information about the PA alone provides reproducibility. In some
             cases, however, SAs may change over time, such that invoking the
             same PA with the same parameters may produce different results.
             For example, if a PA calls a remote server, that server may be
             updated between a PA invoked on day T and another PA invoked on
             day T+1. The SubAction structure allows for specifying information
             about SAs that may dynamically change from PA invocation to PA
             invocation. string name - the name of the SA. string ver - the
             version of SA. string code_url - a url pointing to the SA's
             codebase. string commit - a version control commit ID for the SA.
             string endpoint_url - a url pointing to the access point for the
             SA - a server url, for instance.) -> structure: parameter "name"
             of String, parameter "ver" of String, parameter "code_url" of
             String, parameter "commit" of String, parameter "endpoint_url" of
             String, parameter "custom" of mapping from String to String,
             parameter "description" of String, parameter "creator" of type
             "username" (Login name of a KBase user account.), parameter
             "orig_wsid" of type "ws_id" (The unique, permanent numerical ID of
             a workspace.), parameter "created" of type "timestamp" (A time in
             the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "epoch" of type "epoch" (A Unix epoch (the time
             since 00:00:00 1/1/1970 UTC) in milliseconds.), parameter "refs"
             of list of type "obj_ref" (A string that uniquely identifies an
             object in the workspace service. The format is [ws_name or
             id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "copied" of type "obj_ref" (A
             string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "copy_source_inaccessible" of type "boolean" (A boolean. 0 =
             false, other = true.), parameter "extracted_ids" of mapping from
             type "id_type" (An id type (e.g. from a typespec @id annotation:
             @id [idtype])) to list of type "extracted_id" (An id extracted
             from an object.), parameter "handle_error" of String, parameter
             "handle_stacktrace" of String
          """
          return self._client.call_method(
              'Workspace.get_object_subset',
              [sub_object_ids], self._service_ver, context)
  
      def get_object_history(self, object, context=None):
          """
          Get an object's history. The version argument of the ObjectIdentity is
          ignored.
          :param object: instance of type "ObjectIdentity" (An object
             identifier. Select an object by either: One, and only one, of the
             numerical id or name of the workspace. ws_id wsid - the numerical
             ID of the workspace. ws_name workspace - the name of the
             workspace. AND One, and only one, of the numerical id or name of
             the object. obj_id objid- the numerical ID of the object. obj_name
             name - name of the object. OPTIONALLY obj_ver ver - the version of
             the object. OR an object reference string: obj_ref ref - an object
             reference string.) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.)
          :returns: instance of list of type "object_info" (Information about
             an object, including user provided metadata. obj_id objid - the
             numerical id of the object. obj_name name - the name of the
             object. type_string type - the type of the object. timestamp
             save_date - the save date of the object. obj_ver ver - the version
             of the object. username saved_by - the user that saved or copied
             the object. ws_id wsid - the workspace containing the object.
             ws_name workspace - the workspace containing the object. string
             chsum - the md5 checksum of the object. int size - the size of the
             object in bytes. usermeta meta - arbitrary user-supplied metadata
             about the object.) -> tuple of size 11: parameter "objid" of type
             "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "name" of type "obj_name" (A string used as a name for
             an object. Any string consisting of alphanumeric characters and
             the characters |._- that is not an integer is acceptable.),
             parameter "type" of type "type_string" (A type string. Specifies
             the type and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String
          """
          return self._client.call_method(
              'Workspace.get_object_history',
              [object], self._service_ver, context)
  
      def list_referencing_objects(self, object_ids, context=None):
          """
          List objects that reference one or more specified objects. References
          in the deleted state are not returned.
          :param object_ids: instance of list of type "ObjectIdentity" (An
             object identifier. Select an object by either: One, and only one,
             of the numerical id or name of the workspace. ws_id wsid - the
             numerical ID of the workspace. ws_name workspace - the name of the
             workspace. AND One, and only one, of the numerical id or name of
             the object. obj_id objid- the numerical ID of the object. obj_name
             name - name of the object. OPTIONALLY obj_ver ver - the version of
             the object. OR an object reference string: obj_ref ref - an object
             reference string.) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.)
          :returns: instance of list of list of type "object_info" (Information
             about an object, including user provided metadata. obj_id objid -
             the numerical id of the object. obj_name name - the name of the
             object. type_string type - the type of the object. timestamp
             save_date - the save date of the object. obj_ver ver - the version
             of the object. username saved_by - the user that saved or copied
             the object. ws_id wsid - the workspace containing the object.
             ws_name workspace - the workspace containing the object. string
             chsum - the md5 checksum of the object. int size - the size of the
             object in bytes. usermeta meta - arbitrary user-supplied metadata
             about the object.) -> tuple of size 11: parameter "objid" of type
             "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "name" of type "obj_name" (A string used as a name for
             an object. Any string consisting of alphanumeric characters and
             the characters |._- that is not an integer is acceptable.),
             parameter "type" of type "type_string" (A type string. Specifies
             the type and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String
          """
          return self._client.call_method(
              'Workspace.list_referencing_objects',
              [object_ids], self._service_ver, context)
  
      def list_referencing_object_counts(self, object_ids, context=None):
          """
          DEPRECATED
          List the number of times objects have been referenced.
          This count includes both provenance and object-to-object references
          and, unlike list_referencing_objects, includes objects that are
          inaccessible to the user.
          @deprecated
          :param object_ids: instance of list of type "ObjectIdentity" (An
             object identifier. Select an object by either: One, and only one,
             of the numerical id or name of the workspace. ws_id wsid - the
             numerical ID of the workspace. ws_name workspace - the name of the
             workspace. AND One, and only one, of the numerical id or name of
             the object. obj_id objid- the numerical ID of the object. obj_name
             name - name of the object. OPTIONALLY obj_ver ver - the version of
             the object. OR an object reference string: obj_ref ref - an object
             reference string.) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.)
          :returns: instance of list of Long
          """
          return self._client.call_method(
              'Workspace.list_referencing_object_counts',
              [object_ids], self._service_ver, context)
  
      def get_referenced_objects(self, ref_chains, context=None):
          """
          DEPRECATED
                  Get objects by references from other objects.
                  NOTE: In the vast majority of cases, this method is not necessary and
                  get_objects should be used instead. 
                  
                  get_referenced_objects guarantees that a user that has access to an
                  object can always see a) objects that are referenced inside the object
                  and b) objects that are referenced in the object's provenance. This
                  ensures that the user has visibility into the entire provenance of the
                  object and the object's object dependencies (e.g. references).
                  
                  The user must have at least read access to the first object in each
                  reference chain, but need not have access to any further objects in
                  the chain, and those objects may be deleted.
                  
                  @deprecated Workspace.get_objects2
          :param ref_chains: instance of list of type "ref_chain" (A chain of
             objects with references to one another. An object reference chain
             consists of a list of objects where the nth object possesses a
             reference, either in the object itself or in the object
             provenance, to the n+1th object.) -> list of type "ObjectIdentity"
             (An object identifier. Select an object by either: One, and only
             one, of the numerical id or name of the workspace. ws_id wsid -
             the numerical ID of the workspace. ws_name workspace - the name of
             the workspace. AND One, and only one, of the numerical id or name
             of the object. obj_id objid- the numerical ID of the object.
             obj_name name - name of the object. OPTIONALLY obj_ver ver - the
             version of the object. OR an object reference string: obj_ref ref
             - an object reference string.) -> structure: parameter "workspace"
             of type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.)
          :returns: instance of list of type "ObjectData" (The data and
             supplemental info for an object. UnspecifiedObject data - the
             object's data or subset data. object_info info - information about
             the object. list<obj_ref> path - the path to the object through
             the object reference graph. All the references in the path are
             absolute. list<ProvenanceAction> provenance - the object's
             provenance. username creator - the user that first saved the
             object to the workspace. ws_id orig_wsid - the id of the workspace
             in which this object was originally saved. Missing for objects
             saved prior to version 0.4.1. timestamp created - the date the
             object was first saved to the workspace. epoch epoch - the date
             the object was first saved to the workspace. list<obj_ref> refs -
             the references contained within the object. obj_ref copied - the
             reference of the source object if this object is a copy and the
             copy source exists and is accessible. null otherwise. boolean
             copy_source_inaccessible - true if the object was copied from
             another object, but that object is no longer accessible to the
             user. False otherwise. mapping<id_type, list<extracted_id>>
             extracted_ids - any ids extracted from the object. string
             handle_error - if an error occurs while setting ACLs on embedded
             handle IDs, it will be reported here. string handle_stacktrace -
             the stacktrace for handle_error.) -> structure: parameter "data"
             of unspecified object, parameter "info" of type "object_info"
             (Information about an object, including user provided metadata.
             obj_id objid - the numerical id of the object. obj_name name - the
             name of the object. type_string type - the type of the object.
             timestamp save_date - the save date of the object. obj_ver ver -
             the version of the object. username saved_by - the user that saved
             or copied the object. ws_id wsid - the workspace containing the
             object. ws_name workspace - the workspace containing the object.
             string chsum - the md5 checksum of the object. int size - the size
             of the object in bytes. usermeta meta - arbitrary user-supplied
             metadata about the object.) -> tuple of size 11: parameter "objid"
             of type "obj_id" (The unique, permanent numerical ID of an
             object.), parameter "name" of type "obj_name" (A string used as a
             name for an object. Any string consisting of alphanumeric
             characters and the characters |._- that is not an integer is
             acceptable.), parameter "type" of type "type_string" (A type
             string. Specifies the type and its version in a single string in
             the format [module].[typename]-[major].[minor]: module - a string.
             The module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String, parameter "path" of
             list of type "obj_ref" (A string that uniquely identifies an
             object in the workspace service. The format is [ws_name or
             id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "provenance" of list of type
             "ProvenanceAction" (A provenance action. A provenance action (PA)
             is an action taken while transforming one data object to another.
             There may be several PAs taken in series. A PA is typically
             running a script, running an api command, etc. All of the
             following fields are optional, but more information provided
             equates to better data provenance. resolved_ws_objects should
             never be set by the user; it is set by the workspace service when
             returning data. On input, only one of the time or epoch may be
             supplied. Both are supplied on output. The maximum size of the
             entire provenance object, including all actions, is 1MB. timestamp
             time - the time the action was started epoch epoch - the time the
             action was started. string caller - the name or id of the invoker
             of this provenance action. In most cases, this will be the same
             for all PAs. string service - the name of the service that
             performed this action. string service_ver - the version of the
             service that performed this action. string method - the method of
             the service that performed this action. list<UnspecifiedObject>
             method_params - the parameters of the method that performed this
             action. If an object in the parameters is a workspace object, also
             put the object reference in the input_ws_object list. string
             script - the name of the script that performed this action. string
             script_ver - the version of the script that performed this action.
             string script_command_line - the command line provided to the
             script that performed this action. If workspace objects were
             provided in the command line, also put the object reference in the
             input_ws_object list. list<ref_string> input_ws_objects - the
             workspace objects that were used as input to this action;
             typically these will also be present as parts of the method_params
             or the script_command_line arguments. A reference path into the
             object graph may be supplied. list<obj_ref> resolved_ws_objects -
             the workspace objects ids from input_ws_objects resolved to
             permanent workspace object references by the workspace service.
             list<string> intermediate_incoming - if the previous action
             produced output that 1) was not stored in a referrable way, and 2)
             is used as input for this action, provide it with an arbitrary and
             unique ID here, in the order of the input arguments to this
             action. These IDs can be used in the method_params argument.
             list<string> intermediate_outgoing - if this action produced
             output that 1) was not stored in a referrable way, and 2) is used
             as input for the next action, provide it with an arbitrary and
             unique ID here, in the order of the output values from this
             action. These IDs can be used in the intermediate_incoming
             argument in the next action. list<ExternalDataUnit> external_data
             - data external to the workspace that was either imported to the
             workspace or used to create a workspace object. list<SubAction>
             subactions - the subactions taken as a part of this action.
             mapping<string, string> custom - user definable custom provenance
             fields and their values. string description - a free text
             description of this action.) -> structure: parameter "time" of
             type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where
             Z is either the character Z (representing the UTC timezone) or the
             difference in time to UTC in the format +/-HHMM, eg:
             2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC
             time) 2013-04-03T08:56:32Z (UTC time)), parameter "epoch" of type
             "epoch" (A Unix epoch (the time since 00:00:00 1/1/1970 UTC) in
             milliseconds.), parameter "caller" of String, parameter "service"
             of String, parameter "service_ver" of String, parameter "method"
             of String, parameter "method_params" of list of unspecified
             object, parameter "script" of String, parameter "script_ver" of
             String, parameter "script_command_line" of String, parameter
             "input_ws_objects" of list of type "ref_string" (A chain of
             objects with references to one another as a string. A single
             string that is semantically identical to ref_chain above.
             Represents a path from one workspace object to another through an
             arbitrarily number of intermediate objects where each object has a
             dependency or provenance reference to the next object. Each entry
             is an obj_ref as defined earlier. Entries are separated by
             semicolons. Whitespace is ignored. Examples: 3/5/6;
             kbaseuser:myworkspace/myobject; 5/myobject/2 aworkspace/6),
             parameter "resolved_ws_objects" of list of type "obj_ref" (A
             string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "intermediate_incoming" of list of String, parameter
             "intermediate_outgoing" of list of String, parameter
             "external_data" of list of type "ExternalDataUnit" (An external
             data unit. A piece of data from a source outside the Workspace. On
             input, only one of the resource_release_date or
             resource_release_epoch may be supplied. Both are supplied on
             output. string resource_name - the name of the resource, for
             example JGI. string resource_url - the url of the resource, for
             example http://genome.jgi.doe.gov string resource_version -
             version of the resource timestamp resource_release_date - the
             release date of the resource epoch resource_release_epoch - the
             release date of the resource string data_url - the url of the
             data, for example
             http://genome.jgi.doe.gov/pages/dynamicOrganismDownload.jsf?
             organism=BlaspURHD0036 string data_id - the id of the data, for
             example 7625.2.79179.AGTTCC.adnq.fastq.gz string description - a
             free text description of the data.) -> structure: parameter
             "resource_name" of String, parameter "resource_url" of String,
             parameter "resource_version" of String, parameter
             "resource_release_date" of type "timestamp" (A time in the format
             YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "resource_release_epoch" of type "epoch" (A Unix
             epoch (the time since 00:00:00 1/1/1970 UTC) in milliseconds.),
             parameter "data_url" of String, parameter "data_id" of String,
             parameter "description" of String, parameter "subactions" of list
             of type "SubAction" (Information about a subaction that is invoked
             by a provenance action. A provenance action (PA) may invoke
             subactions (SA), e.g. calling a separate piece of code, a service,
             or a script. In most cases these calls are the same from PA to PA
             and so do not need to be listed in the provenance since providing
             information about the PA alone provides reproducibility. In some
             cases, however, SAs may change over time, such that invoking the
             same PA with the same parameters may produce different results.
             For example, if a PA calls a remote server, that server may be
             updated between a PA invoked on day T and another PA invoked on
             day T+1. The SubAction structure allows for specifying information
             about SAs that may dynamically change from PA invocation to PA
             invocation. string name - the name of the SA. string ver - the
             version of SA. string code_url - a url pointing to the SA's
             codebase. string commit - a version control commit ID for the SA.
             string endpoint_url - a url pointing to the access point for the
             SA - a server url, for instance.) -> structure: parameter "name"
             of String, parameter "ver" of String, parameter "code_url" of
             String, parameter "commit" of String, parameter "endpoint_url" of
             String, parameter "custom" of mapping from String to String,
             parameter "description" of String, parameter "creator" of type
             "username" (Login name of a KBase user account.), parameter
             "orig_wsid" of type "ws_id" (The unique, permanent numerical ID of
             a workspace.), parameter "created" of type "timestamp" (A time in
             the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "epoch" of type "epoch" (A Unix epoch (the time
             since 00:00:00 1/1/1970 UTC) in milliseconds.), parameter "refs"
             of list of type "obj_ref" (A string that uniquely identifies an
             object in the workspace service. The format is [ws_name or
             id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "copied" of type "obj_ref" (A
             string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "copy_source_inaccessible" of type "boolean" (A boolean. 0 =
             false, other = true.), parameter "extracted_ids" of mapping from
             type "id_type" (An id type (e.g. from a typespec @id annotation:
             @id [idtype])) to list of type "extracted_id" (An id extracted
             from an object.), parameter "handle_error" of String, parameter
             "handle_stacktrace" of String
          """
          return self._client.call_method(
              'Workspace.get_referenced_objects',
              [ref_chains], self._service_ver, context)
  
      def list_workspaces(self, params, context=None):
          """
          Lists the metadata of all workspaces a user has access to. Provided for
          backwards compatibility - to be replaced by the functionality of
          list_workspace_info
          @deprecated Workspace.list_workspace_info
          :param params: instance of type "list_workspaces_params" (Input
             parameters for the "list_workspaces" function. Provided for
             backwards compatibility. Optional parameters: string auth - the
             authentication token of the KBase account accessing the list of
             workspaces. Overrides the client provided authorization
             credentials if they exist. boolean excludeGlobal - if
             excludeGlobal is true exclude world readable workspaces. Defaults
             to false. @deprecated Workspace.ListWorkspaceInfoParams) ->
             structure: parameter "auth" of String, parameter "excludeGlobal"
             of type "boolean" (A boolean. 0 = false, other = true.)
          :returns: instance of list of type "workspace_metadata" (Meta data
             associated with a workspace. Provided for backwards compatibility.
             To be replaced by workspace_info. ws_name id - name of the
             workspace username owner - name of the user who owns (who created)
             this workspace timestamp moddate - date when the workspace was
             last modified int objects - the approximate number of objects
             currently stored in the workspace. permission user_permission -
             permissions for the currently logged in user for the workspace
             permission global_permission - default permissions for the
             workspace for all KBase users ws_id num_id - numerical ID of the
             workspace @deprecated Workspace.workspace_info) -> tuple of size
             7: parameter "id" of type "ws_name" (A string used as a name for a
             workspace. Any string consisting of alphanumeric characters and
             "_", ".", or "-" that is not an integer is acceptable. The name
             may optionally be prefixed with the workspace owner's user name
             and a colon, e.g. kbasetest:my_workspace.), parameter "owner" of
             type "username" (Login name of a KBase user account.), parameter
             "moddate" of type "timestamp" (A time in the format
             YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "objects" of Long, parameter "user_permission"
             of type "permission" (Represents the permissions a user or users
             have to a workspace: 'a' - administrator. All operations allowed.
             'w' - read/write. 'r' - read. 'n' - no permissions.), parameter
             "global_permission" of type "permission" (Represents the
             permissions a user or users have to a workspace: 'a' -
             administrator. All operations allowed. 'w' - read/write. 'r' -
             read. 'n' - no permissions.), parameter "num_id" of type "ws_id"
             (The unique, permanent numerical ID of a workspace.)
          """
          return self._client.call_method(
              'Workspace.list_workspaces',
              [params], self._service_ver, context)
  
      def list_workspace_info(self, params, context=None):
          """
          List workspaces viewable by the user.
          :param params: instance of type "ListWorkspaceInfoParams" (Input
             parameters for the "list_workspace_info" function. Only one of
             each timestamp/epoch pair may be supplied. Optional parameters:
             permission perm - filter workspaces by minimum permission level.
             'None' and 'readable' are ignored. list<username> owners - filter
             workspaces by owner. usermeta meta - filter workspaces by the user
             supplied metadata. NOTE: only one key/value pair is supported at
             this time. A full map is provided as input for the possibility for
             expansion in the future. timestamp after - only return workspaces
             that were modified after this date. timestamp before - only return
             workspaces that were modified before this date. epoch after_epoch
             - only return workspaces that were modified after this date. epoch
             before_epoch - only return workspaces that were modified before
             this date. boolean excludeGlobal - if excludeGlobal is true
             exclude world readable workspaces. Defaults to false. boolean
             showDeleted - show deleted workspaces that are owned by the user.
             boolean showOnlyDeleted - only show deleted workspaces that are
             owned by the user.) -> structure: parameter "perm" of type
             "permission" (Represents the permissions a user or users have to a
             workspace: 'a' - administrator. All operations allowed. 'w' -
             read/write. 'r' - read. 'n' - no permissions.), parameter "owners"
             of list of type "username" (Login name of a KBase user account.),
             parameter "meta" of type "usermeta" (User provided metadata about
             an object. Arbitrary key-value pairs provided by the user.) ->
             mapping from String to String, parameter "after" of type
             "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is
             either the character Z (representing the UTC timezone) or the
             difference in time to UTC in the format +/-HHMM, eg:
             2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC
             time) 2013-04-03T08:56:32Z (UTC time)), parameter "before" of type
             "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is
             either the character Z (representing the UTC timezone) or the
             difference in time to UTC in the format +/-HHMM, eg:
             2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC
             time) 2013-04-03T08:56:32Z (UTC time)), parameter "after_epoch" of
             type "epoch" (A Unix epoch (the time since 00:00:00 1/1/1970 UTC)
             in milliseconds.), parameter "before_epoch" of type "epoch" (A
             Unix epoch (the time since 00:00:00 1/1/1970 UTC) in
             milliseconds.), parameter "excludeGlobal" of type "boolean" (A
             boolean. 0 = false, other = true.), parameter "showDeleted" of
             type "boolean" (A boolean. 0 = false, other = true.), parameter
             "showOnlyDeleted" of type "boolean" (A boolean. 0 = false, other =
             true.)
          :returns: instance of list of type "workspace_info" (Information
             about a workspace. ws_id id - the numerical ID of the workspace.
             ws_name workspace - name of the workspace. username owner - name
             of the user who owns (e.g. created) this workspace. timestamp
             moddate - date when the workspace was last modified. int max_objid
             - the maximum object ID appearing in this workspace. Since cloning
             a workspace preserves object IDs, this number may be greater than
             the number of objects in a newly cloned workspace. permission
             user_permission - permissions for the authenticated user of this
             workspace. permission globalread - whether this workspace is
             globally readable. lock_status lockstat - the status of the
             workspace lock. usermeta metadata - arbitrary user-supplied
             metadata about the workspace.) -> tuple of size 9: parameter "id"
             of type "ws_id" (The unique, permanent numerical ID of a
             workspace.), parameter "workspace" of type "ws_name" (A string
             used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "owner" of type "username"
             (Login name of a KBase user account.), parameter "moddate" of type
             "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is
             either the character Z (representing the UTC timezone) or the
             difference in time to UTC in the format +/-HHMM, eg:
             2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC
             time) 2013-04-03T08:56:32Z (UTC time)), parameter "max_objid" of
             Long, parameter "user_permission" of type "permission" (Represents
             the permissions a user or users have to a workspace: 'a' -
             administrator. All operations allowed. 'w' - read/write. 'r' -
             read. 'n' - no permissions.), parameter "globalread" of type
             "permission" (Represents the permissions a user or users have to a
             workspace: 'a' - administrator. All operations allowed. 'w' -
             read/write. 'r' - read. 'n' - no permissions.), parameter
             "lockstat" of type "lock_status" (The lock status of a workspace.
             One of 'unlocked', 'locked', or 'published'.), parameter
             "metadata" of type "usermeta" (User provided metadata about an
             object. Arbitrary key-value pairs provided by the user.) ->
             mapping from String to String
          """
          return self._client.call_method(
              'Workspace.list_workspace_info',
              [params], self._service_ver, context)
  
      def list_workspace_objects(self, params, context=None):
          """
          Lists the metadata of all objects in the specified workspace with the
          specified type (or with any type). Provided for backwards compatibility.
          @deprecated Workspace.list_objects
          :param params: instance of type "list_workspace_objects_params"
             (Input parameters for the "list_workspace_objects" function.
             Provided for backwards compatibility. Required arguments: ws_name
             workspace - Name of the workspace for which objects should be
             listed Optional arguments: type_string type - type of the objects
             to be listed. Here, omitting version information will find any
             objects that match the provided type - e.g. Foo.Bar-0 will match
             Foo.Bar-0.X where X is any existing version. boolean
             showDeletedObject - show objects that have been deleted string
             auth - the authentication token of the KBase account requesting
             access. Overrides the client provided authorization credentials if
             they exist. @deprecated Workspace.ListObjectsParams) -> structure:
             parameter "workspace" of type "ws_name" (A string used as a name
             for a workspace. Any string consisting of alphanumeric characters
             and "_", ".", or "-" that is not an integer is acceptable. The
             name may optionally be prefixed with the workspace owner's user
             name and a colon, e.g. kbasetest:my_workspace.), parameter "type"
             of type "type_string" (A type string. Specifies the type and its
             version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "showDeletedObject" of type
             "boolean" (A boolean. 0 = false, other = true.), parameter "auth"
             of String
          :returns: instance of list of type "object_metadata" (Meta data
             associated with an object stored in a workspace. Provided for
             backwards compatibility. obj_name id - name of the object.
             type_string type - type of the object. timestamp moddate - date
             when the object was saved obj_ver instance - the version of the
             object string command - Deprecated. Always returns the empty
             string. username lastmodifier - name of the user who last saved
             the object, including copying the object username owner -
             Deprecated. Same as lastmodifier. ws_name workspace - name of the
             workspace in which the object is stored string ref - Deprecated.
             Always returns the empty string. string chsum - the md5 checksum
             of the object. usermeta metadata - arbitrary user-supplied
             metadata about the object. obj_id objid - the numerical id of the
             object. @deprecated object_info) -> tuple of size 12: parameter
             "id" of type "obj_name" (A string used as a name for an object.
             Any string consisting of alphanumeric characters and the
             characters |._- that is not an integer is acceptable.), parameter
             "type" of type "type_string" (A type string. Specifies the type
             and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "moddate" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "instance" of Long,
             parameter "command" of String, parameter "lastmodifier" of type
             "username" (Login name of a KBase user account.), parameter
             "owner" of type "username" (Login name of a KBase user account.),
             parameter "workspace" of type "ws_name" (A string used as a name
             for a workspace. Any string consisting of alphanumeric characters
             and "_", ".", or "-" that is not an integer is acceptable. The
             name may optionally be prefixed with the workspace owner's user
             name and a colon, e.g. kbasetest:my_workspace.), parameter "ref"
             of String, parameter "chsum" of String, parameter "metadata" of
             type "usermeta" (User provided metadata about an object. Arbitrary
             key-value pairs provided by the user.) -> mapping from String to
             String, parameter "objid" of type "obj_id" (The unique, permanent
             numerical ID of an object.)
          """
          return self._client.call_method(
              'Workspace.list_workspace_objects',
              [params], self._service_ver, context)
  
      def list_objects(self, params, context=None):
          """
          List objects in one or more workspaces.
          :param params: instance of type "ListObjectsParams" (Parameters for
             the 'list_objects' function. At least one of the following filters
             must be provided. It is strongly recommended that the list is
             restricted to the workspaces of interest, or the results may be
             very large: list<ws_id> ids - the numerical IDs of the workspaces
             of interest. list<ws_name> workspaces - the names of the
             workspaces of interest. type_string type - type of the objects to
             be listed.  Here, omitting version information will find any
             objects that match the provided type - e.g. Foo.Bar-0 will match
             Foo.Bar-0.X where X is any existing version. Only one of each
             timestamp/epoch pair may be supplied. Optional arguments:
             permission perm - filter objects by minimum permission level.
             'None' and 'readable' are ignored. list<username> savedby - filter
             objects by the user that saved or copied the object. usermeta meta
             - filter objects by the user supplied metadata. NOTE: only one
             key/value pair is supported at this time. A full map is provided
             as input for the possibility for expansion in the future.
             timestamp after - only return objects that were created after this
             date. timestamp before - only return objects that were created
             before this date. epoch after_epoch - only return objects that
             were created after this date. epoch before_epoch - only return
             objects that were created before this date. obj_id minObjectID -
             only return objects with an object id greater or equal to this
             value. obj_id maxObjectID - only return objects with an object id
             less than or equal to this value. boolean showDeleted - show
             deleted objects in workspaces to which the user has write access.
             boolean showOnlyDeleted - only show deleted objects in workspaces
             to which the user has write access. boolean showHidden - show
             hidden objects. boolean showAllVersions - show all versions of
             each object that match the filters rather than only the most
             recent version. boolean includeMetadata - include the user
             provided metadata in the returned object_info. If false (0 or
             null), the default, the metadata will be null. boolean
             excludeGlobal - exclude objects in global workspaces. This
             parameter only has an effect when filtering by types alone. int
             limit - limit the output to X objects. Default and maximum value
             is 10000. Limit values < 1 are treated as 10000, the default.) ->
             structure: parameter "workspaces" of list of type "ws_name" (A
             string used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "ids" of list of type "ws_id"
             (The unique, permanent numerical ID of a workspace.), parameter
             "type" of type "type_string" (A type string. Specifies the type
             and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "perm" of type "permission"
             (Represents the permissions a user or users have to a workspace:
             'a' - administrator. All operations allowed. 'w' - read/write. 'r'
             - read. 'n' - no permissions.), parameter "savedby" of list of
             type "username" (Login name of a KBase user account.), parameter
             "meta" of type "usermeta" (User provided metadata about an object.
             Arbitrary key-value pairs provided by the user.) -> mapping from
             String to String, parameter "after" of type "timestamp" (A time in
             the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "before" of type "timestamp" (A time in the
             format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z
             (representing the UTC timezone) or the difference in time to UTC
             in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time)
             2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC
             time)), parameter "after_epoch" of type "epoch" (A Unix epoch (the
             time since 00:00:00 1/1/1970 UTC) in milliseconds.), parameter
             "before_epoch" of type "epoch" (A Unix epoch (the time since
             00:00:00 1/1/1970 UTC) in milliseconds.), parameter "minObjectID"
             of type "obj_id" (The unique, permanent numerical ID of an
             object.), parameter "maxObjectID" of type "obj_id" (The unique,
             permanent numerical ID of an object.), parameter "showDeleted" of
             type "boolean" (A boolean. 0 = false, other = true.), parameter
             "showOnlyDeleted" of type "boolean" (A boolean. 0 = false, other =
             true.), parameter "showHidden" of type "boolean" (A boolean. 0 =
             false, other = true.), parameter "showAllVersions" of type
             "boolean" (A boolean. 0 = false, other = true.), parameter
             "includeMetadata" of type "boolean" (A boolean. 0 = false, other =
             true.), parameter "excludeGlobal" of type "boolean" (A boolean. 0
             = false, other = true.), parameter "limit" of Long
          :returns: instance of list of type "object_info" (Information about
             an object, including user provided metadata. obj_id objid - the
             numerical id of the object. obj_name name - the name of the
             object. type_string type - the type of the object. timestamp
             save_date - the save date of the object. obj_ver ver - the version
             of the object. username saved_by - the user that saved or copied
             the object. ws_id wsid - the workspace containing the object.
             ws_name workspace - the workspace containing the object. string
             chsum - the md5 checksum of the object. int size - the size of the
             object in bytes. usermeta meta - arbitrary user-supplied metadata
             about the object.) -> tuple of size 11: parameter "objid" of type
             "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "name" of type "obj_name" (A string used as a name for
             an object. Any string consisting of alphanumeric characters and
             the characters |._- that is not an integer is acceptable.),
             parameter "type" of type "type_string" (A type string. Specifies
             the type and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String
          """
          return self._client.call_method(
              'Workspace.list_objects',
              [params], self._service_ver, context)
  
      def get_objectmeta(self, params, context=None):
          """
          Retrieves the metadata for a specified object from the specified
          workspace. Provides access to metadata for all versions of the object
          via the instance parameter. Provided for backwards compatibility.
          @deprecated Workspace.get_object_info3
          :param params: instance of type "get_objectmeta_params" (Input
             parameters for the "get_objectmeta" function. Required arguments:
             ws_name workspace - name of the workspace containing the object
             for which metadata is to be retrieved obj_name id - name of the
             object for which metadata is to be retrieved Optional arguments:
             int instance - Version of the object for which metadata is to be
             retrieved, enabling retrieval of any previous version of an object
             string auth - the authentication token of the KBase account
             requesting access. Overrides the client provided authorization
             credentials if they exist. @deprecated Workspace.ObjectIdentity)
             -> structure: parameter "id" of type "obj_name" (A string used as
             a name for an object. Any string consisting of alphanumeric
             characters and the characters |._- that is not an integer is
             acceptable.), parameter "workspace" of type "ws_name" (A string
             used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "instance" of Long, parameter
             "auth" of String
          :returns: instance of type "object_metadata" (Meta data associated
             with an object stored in a workspace. Provided for backwards
             compatibility. obj_name id - name of the object. type_string type
             - type of the object. timestamp moddate - date when the object was
             saved obj_ver instance - the version of the object string command
             - Deprecated. Always returns the empty string. username
             lastmodifier - name of the user who last saved the object,
             including copying the object username owner - Deprecated. Same as
             lastmodifier. ws_name workspace - name of the workspace in which
             the object is stored string ref - Deprecated. Always returns the
             empty string. string chsum - the md5 checksum of the object.
             usermeta metadata - arbitrary user-supplied metadata about the
             object. obj_id objid - the numerical id of the object. @deprecated
             object_info) -> tuple of size 12: parameter "id" of type
             "obj_name" (A string used as a name for an object. Any string
             consisting of alphanumeric characters and the characters |._- that
             is not an integer is acceptable.), parameter "type" of type
             "type_string" (A type string. Specifies the type and its version
             in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "moddate" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "instance" of Long,
             parameter "command" of String, parameter "lastmodifier" of type
             "username" (Login name of a KBase user account.), parameter
             "owner" of type "username" (Login name of a KBase user account.),
             parameter "workspace" of type "ws_name" (A string used as a name
             for a workspace. Any string consisting of alphanumeric characters
             and "_", ".", or "-" that is not an integer is acceptable. The
             name may optionally be prefixed with the workspace owner's user
             name and a colon, e.g. kbasetest:my_workspace.), parameter "ref"
             of String, parameter "chsum" of String, parameter "metadata" of
             type "usermeta" (User provided metadata about an object. Arbitrary
             key-value pairs provided by the user.) -> mapping from String to
             String, parameter "objid" of type "obj_id" (The unique, permanent
             numerical ID of an object.)
          """
          return self._client.call_method(
              'Workspace.get_objectmeta',
              [params], self._service_ver, context)
  
      def get_object_info(self, object_ids, includeMetadata, context=None):
          """
          Get information about objects from the workspace.
          Set includeMetadata true to include the user specified metadata.
          Otherwise the metadata in the object_info will be null.
          This method will be replaced by the behavior of get_object_info_new
          in the future.
          @deprecated Workspace.get_object_info3
          :param object_ids: instance of list of type "ObjectIdentity" (An
             object identifier. Select an object by either: One, and only one,
             of the numerical id or name of the workspace. ws_id wsid - the
             numerical ID of the workspace. ws_name workspace - the name of the
             workspace. AND One, and only one, of the numerical id or name of
             the object. obj_id objid- the numerical ID of the object. obj_name
             name - name of the object. OPTIONALLY obj_ver ver - the version of
             the object. OR an object reference string: obj_ref ref - an object
             reference string.) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.)
          :param includeMetadata: instance of type "boolean" (A boolean. 0 =
             false, other = true.)
          :returns: instance of list of type "object_info" (Information about
             an object, including user provided metadata. obj_id objid - the
             numerical id of the object. obj_name name - the name of the
             object. type_string type - the type of the object. timestamp
             save_date - the save date of the object. obj_ver ver - the version
             of the object. username saved_by - the user that saved or copied
             the object. ws_id wsid - the workspace containing the object.
             ws_name workspace - the workspace containing the object. string
             chsum - the md5 checksum of the object. int size - the size of the
             object in bytes. usermeta meta - arbitrary user-supplied metadata
             about the object.) -> tuple of size 11: parameter "objid" of type
             "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "name" of type "obj_name" (A string used as a name for
             an object. Any string consisting of alphanumeric characters and
             the characters |._- that is not an integer is acceptable.),
             parameter "type" of type "type_string" (A type string. Specifies
             the type and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String
          """
          return self._client.call_method(
              'Workspace.get_object_info',
              [object_ids, includeMetadata], self._service_ver, context)
  
      def get_object_info_new(self, params, context=None):
          """
          Get information about objects from the workspace.
          @deprecated Workspace.get_object_info3
          :param params: instance of type "GetObjectInfoNewParams" (Input
             parameters for the "get_object_info_new" function. Required
             arguments: list<ObjectSpecification> objects - the objects for
             which the information should be fetched. Subsetting related
             parameters are ignored. Optional arguments: boolean
             includeMetadata - include the object metadata in the returned
             information. Default false. boolean ignoreErrors - Don't throw an
             exception if an object cannot be accessed; return null for that
             object's information instead. Default false. @deprecated
             Workspace.GetObjectInfo3Params) -> structure: parameter "objects"
             of list of type "ObjectSpecification" (An Object Specification
             (OS). Inherits from ObjectIdentity (OI). Specifies which object,
             and which parts of that object, to retrieve from the Workspace
             Service. The fields wsid, workspace, objid, name, and ver are
             identical to the OI fields. The ref field's behavior is extended
             from OI. It maintains its previous behavior, but now also can act
             as a reference string. See reference following below for more
             information. REFERENCE FOLLOWING: Reference following guarantees
             that a user that has access to an object can always see a) objects
             that are referenced inside the object and b) objects that are
             referenced in the object's provenance. This ensures that the user
             has visibility into the entire provenance of the object and the
             object's object dependencies (e.g. references). The user must have
             at least read access to the object specified in this SO, but need
             not have access to any further objects in the reference chain, and
             those objects may be deleted. Optional reference following fields:
             Note that only one of the following fields may be specified.
             ref_chain obj_path - a path to the desired object from the object
             specified in this OS. In other words, the object specified in this
             OS is assumed to be accessible to the user, and the objects in the
             object path represent a chain of references to the desired object
             at the end of the object path. If the references are all valid,
             the desired object will be returned. - OR - list<obj_ref>
             obj_ref_path - shorthand for the obj_path. - OR - ref_chain
             to_obj_path - identical to obj_path, except that the path is TO
             the object specified in this OS, rather than from the object. In
             other words the object specified by wsid/objid/ref etc. is the end
             of the path, and to_obj_path is the rest of the path. The user
             must have access to the first object in the to_obj_path. - OR -
             list<obj_ref> to_obj_ref_path - shorthand for the to_obj_path. -
             OR - ref_string ref - A string representing a reference path from
             one object to another. Unlike the previous reference following
             options, the ref_string represents the ENTIRE path from the source
             object to the target object. As with the OI object, the ref field
             may contain a single reference. - OR - boolean find_refence_path -
             This is the last, slowest, and most expensive resort for getting a
             referenced object - do not use this method unless the path to the
             object is unavailable by any other means. Setting the
             find_refence_path parameter to true means that the workspace
             service will search through the object reference graph from the
             object specified in this OS to find an object that 1) the user can
             access, and 2) has an unbroken reference path to the target
             object. If the search succeeds, the object will be returned as
             normal. Note that the search will automatically fail after a
             certain (but much larger than necessary for the vast majority of
             cases) number of objects are traversed. OBJECT SUBSETS: When
             selecting a subset of an array in an object, the returned array is
             compressed to the size of the subset, but the ordering of the
             array is maintained. For example, if the array stored at the
             'feature' key of a Genome object has 4000 entries, and the object
             paths provided are: /feature/7 /feature/3015 /feature/700 The
             returned feature array will be of length three and the entries
             will consist, in order, of the 7th, 700th, and 3015th entries of
             the original array. Optional object subset fields:
             list<object_path> included - the portions of the object to include
             in the object subset. boolean strict_maps - if true, throw an
             exception if the subset specification traverses a non-existent map
             key (default false) boolean strict_arrays - if true, throw an
             exception if the subset specification exceeds the size of an array
             (default true)) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type
             "ref_string" (A chain of objects with references to one another as
             a string. A single string that is semantically identical to
             ref_chain above. Represents a path from one workspace object to
             another through an arbitrarily number of intermediate objects
             where each object has a dependency or provenance reference to the
             next object. Each entry is an obj_ref as defined earlier. Entries
             are separated by semicolons. Whitespace is ignored. Examples:
             3/5/6; kbaseuser:myworkspace/myobject; 5/myobject/2 aworkspace/6),
             parameter "obj_path" of type "ref_chain" (A chain of objects with
             references to one another. An object reference chain consists of a
             list of objects where the nth object possesses a reference, either
             in the object itself or in the object provenance, to the n+1th
             object.) -> list of type "ObjectIdentity" (An object identifier.
             Select an object by either: One, and only one, of the numerical id
             or name of the workspace. ws_id wsid - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace. AND One,
             and only one, of the numerical id or name of the object. obj_id
             objid- the numerical ID of the object. obj_name name - name of the
             object. OPTIONALLY obj_ver ver - the version of the object. OR an
             object reference string: obj_ref ref - an object reference
             string.) -> structure: parameter "workspace" of type "ws_name" (A
             string used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "obj_ref_path" of list of type "obj_ref" (A string that uniquely
             identifies an object in the workspace service. The format is
             [ws_name or id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "to_obj_path" of type
             "ref_chain" (A chain of objects with references to one another. An
             object reference chain consists of a list of objects where the nth
             object possesses a reference, either in the object itself or in
             the object provenance, to the n+1th object.) -> list of type
             "ObjectIdentity" (An object identifier. Select an object by
             either: One, and only one, of the numerical id or name of the
             workspace. ws_id wsid - the numerical ID of the workspace. ws_name
             workspace - the name of the workspace. AND One, and only one, of
             the numerical id or name of the object. obj_id objid- the
             numerical ID of the object. obj_name name - name of the object.
             OPTIONALLY obj_ver ver - the version of the object. OR an object
             reference string: obj_ref ref - an object reference string.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "wsid" of type "ws_id" (The unique, permanent numerical
             ID of a workspace.), parameter "name" of type "obj_name" (A string
             used as a name for an object. Any string consisting of
             alphanumeric characters and the characters |._- that is not an
             integer is acceptable.), parameter "objid" of type "obj_id" (The
             unique, permanent numerical ID of an object.), parameter "ver" of
             type "obj_ver" (An object version. The version of the object,
             starting at 1.), parameter "ref" of type "obj_ref" (A string that
             uniquely identifies an object in the workspace service. The format
             is [ws_name or id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "to_obj_ref_path" of list of
             type "obj_ref" (A string that uniquely identifies an object in the
             workspace service. The format is [ws_name or id]/[obj_name or
             id]/[obj_ver]. For example, MyFirstWorkspace/MyFirstObject/3 would
             identify the third version of an object called MyFirstObject in
             the workspace called MyFirstWorkspace. 42/Panic/1 would identify
             the first version of the object name Panic in workspace with id
             42. Towel/1/6 would identify the 6th version of the object with id
             1 in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "find_reference_path" of type "boolean" (A boolean. 0 = false,
             other = true.), parameter "included" of list of type "object_path"
             (A path into an object. Identify a sub portion of an object by
             providing the path, delimited by a slash (/), to that portion of
             the object. Thus the path may not have slashes in the structure or
             mapping keys. Examples: /foo/bar/3 - specifies the bar key of the
             foo mapping and the 3rd entry of the array if bar maps to an array
             or the value mapped to the string "3" if bar maps to a map.
             /foo/bar/[*]/baz - specifies the baz field of all the objects in
             the list mapped by the bar key in the map foo. /foo/asterisk/baz -
             specifies the baz field of all the objects in the values of the
             foo mapping. Swap 'asterisk' for * in the path. In case you need
             to use '/' or '~' in path items use JSON Pointer notation defined
             here: http://tools.ietf.org/html/rfc6901), parameter "strict_maps"
             of type "boolean" (A boolean. 0 = false, other = true.), parameter
             "strict_arrays" of type "boolean" (A boolean. 0 = false, other =
             true.), parameter "includeMetadata" of type "boolean" (A boolean.
             0 = false, other = true.), parameter "ignoreErrors" of type
             "boolean" (A boolean. 0 = false, other = true.)
          :returns: instance of list of type "object_info" (Information about
             an object, including user provided metadata. obj_id objid - the
             numerical id of the object. obj_name name - the name of the
             object. type_string type - the type of the object. timestamp
             save_date - the save date of the object. obj_ver ver - the version
             of the object. username saved_by - the user that saved or copied
             the object. ws_id wsid - the workspace containing the object.
             ws_name workspace - the workspace containing the object. string
             chsum - the md5 checksum of the object. int size - the size of the
             object in bytes. usermeta meta - arbitrary user-supplied metadata
             about the object.) -> tuple of size 11: parameter "objid" of type
             "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "name" of type "obj_name" (A string used as a name for
             an object. Any string consisting of alphanumeric characters and
             the characters |._- that is not an integer is acceptable.),
             parameter "type" of type "type_string" (A type string. Specifies
             the type and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String
          """
          return self._client.call_method(
              'Workspace.get_object_info_new',
              [params], self._service_ver, context)
  
      def get_object_info3(self, params, context=None):
          """
          :param params: instance of type "GetObjectInfo3Params" (Input
             parameters for the "get_object_info3" function. Required
             arguments: list<ObjectSpecification> objects - the objects for
             which the information should be fetched. Subsetting related
             parameters are ignored. Optional arguments: boolean
             includeMetadata - include the object metadata in the returned
             information. Default false. boolean ignoreErrors - Don't throw an
             exception if an object cannot be accessed; return null for that
             object's information and path instead. Default false.) ->
             structure: parameter "objects" of list of type
             "ObjectSpecification" (An Object Specification (OS). Inherits from
             ObjectIdentity (OI). Specifies which object, and which parts of
             that object, to retrieve from the Workspace Service. The fields
             wsid, workspace, objid, name, and ver are identical to the OI
             fields. The ref field's behavior is extended from OI. It maintains
             its previous behavior, but now also can act as a reference string.
             See reference following below for more information. REFERENCE
             FOLLOWING: Reference following guarantees that a user that has
             access to an object can always see a) objects that are referenced
             inside the object and b) objects that are referenced in the
             object's provenance. This ensures that the user has visibility
             into the entire provenance of the object and the object's object
             dependencies (e.g. references). The user must have at least read
             access to the object specified in this SO, but need not have
             access to any further objects in the reference chain, and those
             objects may be deleted. Optional reference following fields: Note
             that only one of the following fields may be specified. ref_chain
             obj_path - a path to the desired object from the object specified
             in this OS. In other words, the object specified in this OS is
             assumed to be accessible to the user, and the objects in the
             object path represent a chain of references to the desired object
             at the end of the object path. If the references are all valid,
             the desired object will be returned. - OR - list<obj_ref>
             obj_ref_path - shorthand for the obj_path. - OR - ref_chain
             to_obj_path - identical to obj_path, except that the path is TO
             the object specified in this OS, rather than from the object. In
             other words the object specified by wsid/objid/ref etc. is the end
             of the path, and to_obj_path is the rest of the path. The user
             must have access to the first object in the to_obj_path. - OR -
             list<obj_ref> to_obj_ref_path - shorthand for the to_obj_path. -
             OR - ref_string ref - A string representing a reference path from
             one object to another. Unlike the previous reference following
             options, the ref_string represents the ENTIRE path from the source
             object to the target object. As with the OI object, the ref field
             may contain a single reference. - OR - boolean find_refence_path -
             This is the last, slowest, and most expensive resort for getting a
             referenced object - do not use this method unless the path to the
             object is unavailable by any other means. Setting the
             find_refence_path parameter to true means that the workspace
             service will search through the object reference graph from the
             object specified in this OS to find an object that 1) the user can
             access, and 2) has an unbroken reference path to the target
             object. If the search succeeds, the object will be returned as
             normal. Note that the search will automatically fail after a
             certain (but much larger than necessary for the vast majority of
             cases) number of objects are traversed. OBJECT SUBSETS: When
             selecting a subset of an array in an object, the returned array is
             compressed to the size of the subset, but the ordering of the
             array is maintained. For example, if the array stored at the
             'feature' key of a Genome object has 4000 entries, and the object
             paths provided are: /feature/7 /feature/3015 /feature/700 The
             returned feature array will be of length three and the entries
             will consist, in order, of the 7th, 700th, and 3015th entries of
             the original array. Optional object subset fields:
             list<object_path> included - the portions of the object to include
             in the object subset. boolean strict_maps - if true, throw an
             exception if the subset specification traverses a non-existent map
             key (default false) boolean strict_arrays - if true, throw an
             exception if the subset specification exceeds the size of an array
             (default true)) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type
             "ref_string" (A chain of objects with references to one another as
             a string. A single string that is semantically identical to
             ref_chain above. Represents a path from one workspace object to
             another through an arbitrarily number of intermediate objects
             where each object has a dependency or provenance reference to the
             next object. Each entry is an obj_ref as defined earlier. Entries
             are separated by semicolons. Whitespace is ignored. Examples:
             3/5/6; kbaseuser:myworkspace/myobject; 5/myobject/2 aworkspace/6),
             parameter "obj_path" of type "ref_chain" (A chain of objects with
             references to one another. An object reference chain consists of a
             list of objects where the nth object possesses a reference, either
             in the object itself or in the object provenance, to the n+1th
             object.) -> list of type "ObjectIdentity" (An object identifier.
             Select an object by either: One, and only one, of the numerical id
             or name of the workspace. ws_id wsid - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace. AND One,
             and only one, of the numerical id or name of the object. obj_id
             objid- the numerical ID of the object. obj_name name - name of the
             object. OPTIONALLY obj_ver ver - the version of the object. OR an
             object reference string: obj_ref ref - an object reference
             string.) -> structure: parameter "workspace" of type "ws_name" (A
             string used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "obj_ref_path" of list of type "obj_ref" (A string that uniquely
             identifies an object in the workspace service. The format is
             [ws_name or id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "to_obj_path" of type
             "ref_chain" (A chain of objects with references to one another. An
             object reference chain consists of a list of objects where the nth
             object possesses a reference, either in the object itself or in
             the object provenance, to the n+1th object.) -> list of type
             "ObjectIdentity" (An object identifier. Select an object by
             either: One, and only one, of the numerical id or name of the
             workspace. ws_id wsid - the numerical ID of the workspace. ws_name
             workspace - the name of the workspace. AND One, and only one, of
             the numerical id or name of the object. obj_id objid- the
             numerical ID of the object. obj_name name - name of the object.
             OPTIONALLY obj_ver ver - the version of the object. OR an object
             reference string: obj_ref ref - an object reference string.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "wsid" of type "ws_id" (The unique, permanent numerical
             ID of a workspace.), parameter "name" of type "obj_name" (A string
             used as a name for an object. Any string consisting of
             alphanumeric characters and the characters |._- that is not an
             integer is acceptable.), parameter "objid" of type "obj_id" (The
             unique, permanent numerical ID of an object.), parameter "ver" of
             type "obj_ver" (An object version. The version of the object,
             starting at 1.), parameter "ref" of type "obj_ref" (A string that
             uniquely identifies an object in the workspace service. The format
             is [ws_name or id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "to_obj_ref_path" of list of
             type "obj_ref" (A string that uniquely identifies an object in the
             workspace service. The format is [ws_name or id]/[obj_name or
             id]/[obj_ver]. For example, MyFirstWorkspace/MyFirstObject/3 would
             identify the third version of an object called MyFirstObject in
             the workspace called MyFirstWorkspace. 42/Panic/1 would identify
             the first version of the object name Panic in workspace with id
             42. Towel/1/6 would identify the 6th version of the object with id
             1 in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter
             "find_reference_path" of type "boolean" (A boolean. 0 = false,
             other = true.), parameter "included" of list of type "object_path"
             (A path into an object. Identify a sub portion of an object by
             providing the path, delimited by a slash (/), to that portion of
             the object. Thus the path may not have slashes in the structure or
             mapping keys. Examples: /foo/bar/3 - specifies the bar key of the
             foo mapping and the 3rd entry of the array if bar maps to an array
             or the value mapped to the string "3" if bar maps to a map.
             /foo/bar/[*]/baz - specifies the baz field of all the objects in
             the list mapped by the bar key in the map foo. /foo/asterisk/baz -
             specifies the baz field of all the objects in the values of the
             foo mapping. Swap 'asterisk' for * in the path. In case you need
             to use '/' or '~' in path items use JSON Pointer notation defined
             here: http://tools.ietf.org/html/rfc6901), parameter "strict_maps"
             of type "boolean" (A boolean. 0 = false, other = true.), parameter
             "strict_arrays" of type "boolean" (A boolean. 0 = false, other =
             true.), parameter "includeMetadata" of type "boolean" (A boolean.
             0 = false, other = true.), parameter "ignoreErrors" of type
             "boolean" (A boolean. 0 = false, other = true.)
          :returns: instance of type "GetObjectInfo3Results" (Output from the
             get_object_info3 function. list<object_info> infos - the
             object_info data for each object. list<list<obj_ref> paths - the
             path to the object through the object reference graph for each
             object. All the references in the path are absolute.) ->
             structure: parameter "infos" of list of type "object_info"
             (Information about an object, including user provided metadata.
             obj_id objid - the numerical id of the object. obj_name name - the
             name of the object. type_string type - the type of the object.
             timestamp save_date - the save date of the object. obj_ver ver -
             the version of the object. username saved_by - the user that saved
             or copied the object. ws_id wsid - the workspace containing the
             object. ws_name workspace - the workspace containing the object.
             string chsum - the md5 checksum of the object. int size - the size
             of the object in bytes. usermeta meta - arbitrary user-supplied
             metadata about the object.) -> tuple of size 11: parameter "objid"
             of type "obj_id" (The unique, permanent numerical ID of an
             object.), parameter "name" of type "obj_name" (A string used as a
             name for an object. Any string consisting of alphanumeric
             characters and the characters |._- that is not an integer is
             acceptable.), parameter "type" of type "type_string" (A type
             string. Specifies the type and its version in a single string in
             the format [module].[typename]-[major].[minor]: module - a string.
             The module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String, parameter "paths" of
             list of list of type "obj_ref" (A string that uniquely identifies
             an object in the workspace service. The format is [ws_name or
             id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.)
          """
          return self._client.call_method(
              'Workspace.get_object_info3',
              [params], self._service_ver, context)
  
      def rename_workspace(self, params, context=None):
          """
          Rename a workspace.
          :param params: instance of type "RenameWorkspaceParams" (Input
             parameters for the 'rename_workspace' function. Required
             arguments: WorkspaceIdentity wsi - the workspace to rename.
             ws_name new_name - the new name for the workspace.) -> structure:
             parameter "wsi" of type "WorkspaceIdentity" (A workspace
             identifier. Select a workspace by one, and only one, of the
             numerical id or name. ws_id id - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "id" of type "ws_id" (The unique, permanent numerical ID
             of a workspace.), parameter "new_name" of type "ws_name" (A string
             used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.)
          :returns: instance of type "workspace_info" (Information about a
             workspace. ws_id id - the numerical ID of the workspace. ws_name
             workspace - name of the workspace. username owner - name of the
             user who owns (e.g. created) this workspace. timestamp moddate -
             date when the workspace was last modified. int max_objid - the
             maximum object ID appearing in this workspace. Since cloning a
             workspace preserves object IDs, this number may be greater than
             the number of objects in a newly cloned workspace. permission
             user_permission - permissions for the authenticated user of this
             workspace. permission globalread - whether this workspace is
             globally readable. lock_status lockstat - the status of the
             workspace lock. usermeta metadata - arbitrary user-supplied
             metadata about the workspace.) -> tuple of size 9: parameter "id"
             of type "ws_id" (The unique, permanent numerical ID of a
             workspace.), parameter "workspace" of type "ws_name" (A string
             used as a name for a workspace. Any string consisting of
             alphanumeric characters and "_", ".", or "-" that is not an
             integer is acceptable. The name may optionally be prefixed with
             the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "owner" of type "username"
             (Login name of a KBase user account.), parameter "moddate" of type
             "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is
             either the character Z (representing the UTC timezone) or the
             difference in time to UTC in the format +/-HHMM, eg:
             2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC
             time) 2013-04-03T08:56:32Z (UTC time)), parameter "max_objid" of
             Long, parameter "user_permission" of type "permission" (Represents
             the permissions a user or users have to a workspace: 'a' -
             administrator. All operations allowed. 'w' - read/write. 'r' -
             read. 'n' - no permissions.), parameter "globalread" of type
             "permission" (Represents the permissions a user or users have to a
             workspace: 'a' - administrator. All operations allowed. 'w' -
             read/write. 'r' - read. 'n' - no permissions.), parameter
             "lockstat" of type "lock_status" (The lock status of a workspace.
             One of 'unlocked', 'locked', or 'published'.), parameter
             "metadata" of type "usermeta" (User provided metadata about an
             object. Arbitrary key-value pairs provided by the user.) ->
             mapping from String to String
          """
          return self._client.call_method(
              'Workspace.rename_workspace',
              [params], self._service_ver, context)
  
      def rename_object(self, params, context=None):
          """
          Rename an object. User meta data is always returned as null.
          :param params: instance of type "RenameObjectParams" (Input
             parameters for the 'rename_object' function. Required arguments:
             ObjectIdentity obj - the object to rename. obj_name new_name - the
             new name for the object.) -> structure: parameter "obj" of type
             "ObjectIdentity" (An object identifier. Select an object by
             either: One, and only one, of the numerical id or name of the
             workspace. ws_id wsid - the numerical ID of the workspace. ws_name
             workspace - the name of the workspace. AND One, and only one, of
             the numerical id or name of the object. obj_id objid- the
             numerical ID of the object. obj_name name - name of the object.
             OPTIONALLY obj_ver ver - the version of the object. OR an object
             reference string: obj_ref ref - an object reference string.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "wsid" of type "ws_id" (The unique, permanent numerical
             ID of a workspace.), parameter "name" of type "obj_name" (A string
             used as a name for an object. Any string consisting of
             alphanumeric characters and the characters |._- that is not an
             integer is acceptable.), parameter "objid" of type "obj_id" (The
             unique, permanent numerical ID of an object.), parameter "ver" of
             type "obj_ver" (An object version. The version of the object,
             starting at 1.), parameter "ref" of type "obj_ref" (A string that
             uniquely identifies an object in the workspace service. The format
             is [ws_name or id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.), parameter "new_name" of type "obj_name"
             (A string used as a name for an object. Any string consisting of
             alphanumeric characters and the characters |._- that is not an
             integer is acceptable.)
          :returns: instance of type "object_info" (Information about an
             object, including user provided metadata. obj_id objid - the
             numerical id of the object. obj_name name - the name of the
             object. type_string type - the type of the object. timestamp
             save_date - the save date of the object. obj_ver ver - the version
             of the object. username saved_by - the user that saved or copied
             the object. ws_id wsid - the workspace containing the object.
             ws_name workspace - the workspace containing the object. string
             chsum - the md5 checksum of the object. int size - the size of the
             object in bytes. usermeta meta - arbitrary user-supplied metadata
             about the object.) -> tuple of size 11: parameter "objid" of type
             "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "name" of type "obj_name" (A string used as a name for
             an object. Any string consisting of alphanumeric characters and
             the characters |._- that is not an integer is acceptable.),
             parameter "type" of type "type_string" (A type string. Specifies
             the type and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String
          """
          return self._client.call_method(
              'Workspace.rename_object',
              [params], self._service_ver, context)
  
      def copy_object(self, params, context=None):
          """
          Copy an object. Returns the object_info for the newest version.
          :param params: instance of type "CopyObjectParams" (Input parameters
             for the 'copy_object' function. If the 'from' ObjectIdentity
             includes no version and the object is copied to a new name, the
             entire version history of the object is copied. In all other cases
             only the version specified, or the latest version if no version is
             specified, is copied. The version from the 'to' ObjectIdentity is
             always ignored. Required arguments: ObjectIdentity from - the
             object to copy. ObjectIdentity to - where to copy the object.) ->
             structure: parameter "from" of type "ObjectIdentity" (An object
             identifier. Select an object by either: One, and only one, of the
             numerical id or name of the workspace. ws_id wsid - the numerical
             ID of the workspace. ws_name workspace - the name of the
             workspace. AND One, and only one, of the numerical id or name of
             the object. obj_id objid- the numerical ID of the object. obj_name
             name - name of the object. OPTIONALLY obj_ver ver - the version of
             the object. OR an object reference string: obj_ref ref - an object
             reference string.) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.), parameter "to" of type
             "ObjectIdentity" (An object identifier. Select an object by
             either: One, and only one, of the numerical id or name of the
             workspace. ws_id wsid - the numerical ID of the workspace. ws_name
             workspace - the name of the workspace. AND One, and only one, of
             the numerical id or name of the object. obj_id objid- the
             numerical ID of the object. obj_name name - name of the object.
             OPTIONALLY obj_ver ver - the version of the object. OR an object
             reference string: obj_ref ref - an object reference string.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "wsid" of type "ws_id" (The unique, permanent numerical
             ID of a workspace.), parameter "name" of type "obj_name" (A string
             used as a name for an object. Any string consisting of
             alphanumeric characters and the characters |._- that is not an
             integer is acceptable.), parameter "objid" of type "obj_id" (The
             unique, permanent numerical ID of an object.), parameter "ver" of
             type "obj_ver" (An object version. The version of the object,
             starting at 1.), parameter "ref" of type "obj_ref" (A string that
             uniquely identifies an object in the workspace service. The format
             is [ws_name or id]/[obj_name or id]/[obj_ver]. For example,
             MyFirstWorkspace/MyFirstObject/3 would identify the third version
             of an object called MyFirstObject in the workspace called
             MyFirstWorkspace. 42/Panic/1 would identify the first version of
             the object name Panic in workspace with id 42. Towel/1/6 would
             identify the 6th version of the object with id 1 in the Towel
             workspace.If the version number is omitted, the latest version of
             the object is assumed.)
          :returns: instance of type "object_info" (Information about an
             object, including user provided metadata. obj_id objid - the
             numerical id of the object. obj_name name - the name of the
             object. type_string type - the type of the object. timestamp
             save_date - the save date of the object. obj_ver ver - the version
             of the object. username saved_by - the user that saved or copied
             the object. ws_id wsid - the workspace containing the object.
             ws_name workspace - the workspace containing the object. string
             chsum - the md5 checksum of the object. int size - the size of the
             object in bytes. usermeta meta - arbitrary user-supplied metadata
             about the object.) -> tuple of size 11: parameter "objid" of type
             "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "name" of type "obj_name" (A string used as a name for
             an object. Any string consisting of alphanumeric characters and
             the characters |._- that is not an integer is acceptable.),
             parameter "type" of type "type_string" (A type string. Specifies
             the type and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String
          """
          return self._client.call_method(
              'Workspace.copy_object',
              [params], self._service_ver, context)
  
      def revert_object(self, object, context=None):
          """
          Revert an object.
                  The object specified in the ObjectIdentity is reverted to the version
                  specified in the ObjectIdentity.
          :param object: instance of type "ObjectIdentity" (An object
             identifier. Select an object by either: One, and only one, of the
             numerical id or name of the workspace. ws_id wsid - the numerical
             ID of the workspace. ws_name workspace - the name of the
             workspace. AND One, and only one, of the numerical id or name of
             the object. obj_id objid- the numerical ID of the object. obj_name
             name - name of the object. OPTIONALLY obj_ver ver - the version of
             the object. OR an object reference string: obj_ref ref - an object
             reference string.) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.)
          :returns: instance of type "object_info" (Information about an
             object, including user provided metadata. obj_id objid - the
             numerical id of the object. obj_name name - the name of the
             object. type_string type - the type of the object. timestamp
             save_date - the save date of the object. obj_ver ver - the version
             of the object. username saved_by - the user that saved or copied
             the object. ws_id wsid - the workspace containing the object.
             ws_name workspace - the workspace containing the object. string
             chsum - the md5 checksum of the object. int size - the size of the
             object in bytes. usermeta meta - arbitrary user-supplied metadata
             about the object.) -> tuple of size 11: parameter "objid" of type
             "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "name" of type "obj_name" (A string used as a name for
             an object. Any string consisting of alphanumeric characters and
             the characters |._- that is not an integer is acceptable.),
             parameter "type" of type "type_string" (A type string. Specifies
             the type and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "save_date" of type "timestamp" (A
             time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
             character Z (representing the UTC timezone) or the difference in
             time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500
             (EST time) 2013-04-03T08:56:32+0000 (UTC time)
             2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long,
             parameter "saved_by" of type "username" (Login name of a KBase
             user account.), parameter "wsid" of type "ws_id" (The unique,
             permanent numerical ID of a workspace.), parameter "workspace" of
             type "ws_name" (A string used as a name for a workspace. Any
             string consisting of alphanumeric characters and "_", ".", or "-"
             that is not an integer is acceptable. The name may optionally be
             prefixed with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "chsum" of String, parameter
             "size" of Long, parameter "meta" of type "usermeta" (User provided
             metadata about an object. Arbitrary key-value pairs provided by
             the user.) -> mapping from String to String
          """
          return self._client.call_method(
              'Workspace.revert_object',
              [object], self._service_ver, context)
  
      def get_names_by_prefix(self, params, context=None):
          """
          Get object names matching a prefix. At most 1000 names are returned.
          No particular ordering is guaranteed, nor is which names will be
          returned if more than 1000 are found.
          This function is intended for use as an autocomplete helper function.
          :param params: instance of type "GetNamesByPrefixParams" (Input
             parameters for the get_names_by_prefix function. Required
             arguments: list<WorkspaceIdentity> workspaces - the workspaces to
             search. string prefix - the prefix of the object names to return.
             Optional arguments: boolean includeHidden - include names of
             hidden objects in the results. Default false.) -> structure:
             parameter "workspaces" of list of type "WorkspaceIdentity" (A
             workspace identifier. Select a workspace by one, and only one, of
             the numerical id or name. ws_id id - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "id" of type "ws_id" (The unique, permanent numerical ID
             of a workspace.), parameter "prefix" of String, parameter
             "includeHidden" of type "boolean" (A boolean. 0 = false, other =
             true.)
          :returns: instance of type "GetNamesByPrefixResults" (Results object
             for the get_names_by_prefix function. list<list<obj_name>> names -
             the names matching the provided prefix, listed in order of the
             input workspaces.) -> structure: parameter "names" of list of list
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.)
          """
          return self._client.call_method(
              'Workspace.get_names_by_prefix',
              [params], self._service_ver, context)
  
      def hide_objects(self, object_ids, context=None):
          """
          Hide objects. All versions of an object are hidden, regardless of
          the version specified in the ObjectIdentity. Hidden objects do not
          appear in the list_objects method.
          :param object_ids: instance of list of type "ObjectIdentity" (An
             object identifier. Select an object by either: One, and only one,
             of the numerical id or name of the workspace. ws_id wsid - the
             numerical ID of the workspace. ws_name workspace - the name of the
             workspace. AND One, and only one, of the numerical id or name of
             the object. obj_id objid- the numerical ID of the object. obj_name
             name - name of the object. OPTIONALLY obj_ver ver - the version of
             the object. OR an object reference string: obj_ref ref - an object
             reference string.) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.)
          """
          return self._client.call_method(
              'Workspace.hide_objects',
              [object_ids], self._service_ver, context)
  
      def unhide_objects(self, object_ids, context=None):
          """
          Unhide objects. All versions of an object are unhidden, regardless
          of the version specified in the ObjectIdentity.
          :param object_ids: instance of list of type "ObjectIdentity" (An
             object identifier. Select an object by either: One, and only one,
             of the numerical id or name of the workspace. ws_id wsid - the
             numerical ID of the workspace. ws_name workspace - the name of the
             workspace. AND One, and only one, of the numerical id or name of
             the object. obj_id objid- the numerical ID of the object. obj_name
             name - name of the object. OPTIONALLY obj_ver ver - the version of
             the object. OR an object reference string: obj_ref ref - an object
             reference string.) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.)
          """
          return self._client.call_method(
              'Workspace.unhide_objects',
              [object_ids], self._service_ver, context)
  
      def delete_objects(self, object_ids, context=None):
          """
          Delete objects. All versions of an object are deleted, regardless of
          the version specified in the ObjectIdentity.
          :param object_ids: instance of list of type "ObjectIdentity" (An
             object identifier. Select an object by either: One, and only one,
             of the numerical id or name of the workspace. ws_id wsid - the
             numerical ID of the workspace. ws_name workspace - the name of the
             workspace. AND One, and only one, of the numerical id or name of
             the object. obj_id objid- the numerical ID of the object. obj_name
             name - name of the object. OPTIONALLY obj_ver ver - the version of
             the object. OR an object reference string: obj_ref ref - an object
             reference string.) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.)
          """
          return self._client.call_method(
              'Workspace.delete_objects',
              [object_ids], self._service_ver, context)
  
      def undelete_objects(self, object_ids, context=None):
          """
          Undelete objects. All versions of an object are undeleted, regardless
          of the version specified in the ObjectIdentity. If an object is not
          deleted, no error is thrown.
          :param object_ids: instance of list of type "ObjectIdentity" (An
             object identifier. Select an object by either: One, and only one,
             of the numerical id or name of the workspace. ws_id wsid - the
             numerical ID of the workspace. ws_name workspace - the name of the
             workspace. AND One, and only one, of the numerical id or name of
             the object. obj_id objid- the numerical ID of the object. obj_name
             name - name of the object. OPTIONALLY obj_ver ver - the version of
             the object. OR an object reference string: obj_ref ref - an object
             reference string.) -> structure: parameter "workspace" of type
             "ws_name" (A string used as a name for a workspace. Any string
             consisting of alphanumeric characters and "_", ".", or "-" that is
             not an integer is acceptable. The name may optionally be prefixed
             with the workspace owner's user name and a colon, e.g.
             kbasetest:my_workspace.), parameter "wsid" of type "ws_id" (The
             unique, permanent numerical ID of a workspace.), parameter "name"
             of type "obj_name" (A string used as a name for an object. Any
             string consisting of alphanumeric characters and the characters
             |._- that is not an integer is acceptable.), parameter "objid" of
             type "obj_id" (The unique, permanent numerical ID of an object.),
             parameter "ver" of type "obj_ver" (An object version. The version
             of the object, starting at 1.), parameter "ref" of type "obj_ref"
             (A string that uniquely identifies an object in the workspace
             service. The format is [ws_name or id]/[obj_name or id]/[obj_ver].
             For example, MyFirstWorkspace/MyFirstObject/3 would identify the
             third version of an object called MyFirstObject in the workspace
             called MyFirstWorkspace. 42/Panic/1 would identify the first
             version of the object name Panic in workspace with id 42.
             Towel/1/6 would identify the 6th version of the object with id 1
             in the Towel workspace.If the version number is omitted, the
             latest version of the object is assumed.)
          """
          return self._client.call_method(
              'Workspace.undelete_objects',
              [object_ids], self._service_ver, context)
  
      def delete_workspace(self, wsi, context=None):
          """
          Delete a workspace. All objects contained in the workspace are deleted.
          :param wsi: instance of type "WorkspaceIdentity" (A workspace
             identifier. Select a workspace by one, and only one, of the
             numerical id or name. ws_id id - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "id" of type "ws_id" (The unique, permanent numerical ID
             of a workspace.)
          """
          return self._client.call_method(
              'Workspace.delete_workspace',
              [wsi], self._service_ver, context)
  
      def undelete_workspace(self, wsi, context=None):
          """
          Undelete a workspace. All objects contained in the workspace are
          undeleted, regardless of their state at the time the workspace was
          deleted.
          :param wsi: instance of type "WorkspaceIdentity" (A workspace
             identifier. Select a workspace by one, and only one, of the
             numerical id or name. ws_id id - the numerical ID of the
             workspace. ws_name workspace - the name of the workspace.) ->
             structure: parameter "workspace" of type "ws_name" (A string used
             as a name for a workspace. Any string consisting of alphanumeric
             characters and "_", ".", or "-" that is not an integer is
             acceptable. The name may optionally be prefixed with the workspace
             owner's user name and a colon, e.g. kbasetest:my_workspace.),
             parameter "id" of type "ws_id" (The unique, permanent numerical ID
             of a workspace.)
          """
          return self._client.call_method(
              'Workspace.undelete_workspace',
              [wsi], self._service_ver, context)
  
      def request_module_ownership(self, mod, context=None):
          """
          Request ownership of a module name. A Workspace administrator
          must approve the request.
          :param mod: instance of type "modulename" (A module name defined in a
             KIDL typespec.)
          """
          return self._client.call_method(
              'Workspace.request_module_ownership',
              [mod], self._service_ver, context)
  
      def register_typespec(self, params, context=None):
          """
          Register a new typespec or recompile a previously registered typespec
          with new options.
          See the documentation of RegisterTypespecParams for more details.
          Also see the release_types function.
          :param params: instance of type "RegisterTypespecParams" (Parameters
             for the register_typespec function. Required arguments: One of:
             typespec spec - the new typespec to register. modulename mod - the
             module to recompile with updated options (see below). Optional
             arguments: boolean dryrun - Return, but do not save, the results
             of compiling the spec. Default true. Set to false for making
             permanent changes. list<typename> new_types - types in the spec to
             make available in the workspace service. When compiling a spec for
             the first time, if this argument is empty no types will be made
             available. Previously available types remain so upon recompilation
             of a spec or compilation of a new spec. list<typename>
             remove_types - no longer make these types available in the
             workspace service for the new version of the spec. This does not
             remove versions of types previously compiled. mapping<modulename,
             spec_version> dependencies - By default, the latest released
             versions of spec dependencies will be included when compiling a
             spec. Specific versions can be specified here. spec_version
             prev_ver - the id of the previous version of the typespec. An
             error will be thrown if this is set and prev_ver is not the most
             recent version of the typespec. This prevents overwriting of
             changes made since retrieving a spec and compiling an edited spec.
             This argument is ignored if a modulename is passed.) -> structure:
             parameter "spec" of type "typespec" (A type specification
             (typespec) file in the KBase Interface Description Language
             (KIDL).), parameter "mod" of type "modulename" (A module name
             defined in a KIDL typespec.), parameter "new_types" of list of
             type "typename" (A type definition name in a KIDL typespec.),
             parameter "remove_types" of list of type "typename" (A type
             definition name in a KIDL typespec.), parameter "dependencies" of
             mapping from type "modulename" (A module name defined in a KIDL
             typespec.) to type "spec_version" (The version of a typespec
             file.), parameter "dryrun" of type "boolean" (A boolean. 0 =
             false, other = true.), parameter "prev_ver" of type "spec_version"
             (The version of a typespec file.)
          :returns: instance of mapping from type "type_string" (A type string.
             Specifies the type and its version in a single string in the
             format [module].[typename]-[major].[minor]: module - a string. The
             module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1) to type "jsonschema" (The JSON Schema (v4)
             representation of a type definition.)
          """
          return self._client.call_method(
              'Workspace.register_typespec',
              [params], self._service_ver, context)
  
      def register_typespec_copy(self, params, context=None):
          """
          Register a copy of new typespec or refresh an existing typespec which is
          loaded from another workspace for synchronization. Method returns new
          version of module in current workspace.
          Also see the release_types function.
          :param params: instance of type "RegisterTypespecCopyParams"
             (Parameters for the register_typespec_copy function. Required
             arguments: string external_workspace_url - the URL of the 
             workspace server from which to copy a typespec. modulename mod -
             the name of the module in the workspace server Optional arguments:
             spec_version version - the version of the module in the workspace
             server) -> structure: parameter "external_workspace_url" of
             String, parameter "mod" of type "modulename" (A module name
             defined in a KIDL typespec.), parameter "version" of type
             "spec_version" (The version of a typespec file.)
          :returns: instance of type "spec_version" (The version of a typespec
             file.)
          """
          return self._client.call_method(
              'Workspace.register_typespec_copy',
              [params], self._service_ver, context)
  
      def release_module(self, mod, context=None):
          """
          Release a module for general use of its types.
          Releases the most recent version of a module. Releasing a module does
          two things to the module's types:
          1) If a type's major version is 0, it is changed to 1. A major
                  version of 0 implies that the type is in development and may have
                  backwards incompatible changes from minor version to minor version.
                  Once a type is released, backwards incompatible changes always
                  cause a major version increment.
          2) This version of the type becomes the default version, and if a 
                  specific version is not supplied in a function call, this version
                  will be used. This means that newer, unreleased versions of the
                  type may be skipped.
          :param mod: instance of type "modulename" (A module name defined in a
             KIDL typespec.)
          :returns: instance of list of type "type_string" (A type string.
             Specifies the type and its version in a single string in the
             format [module].[typename]-[major].[minor]: module - a string. The
             module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1)
          """
          return self._client.call_method(
              'Workspace.release_module',
              [mod], self._service_ver, context)
  
      def list_modules(self, params, context=None):
          """
          List typespec modules.
          :param params: instance of type "ListModulesParams" (Parameters for
             the list_modules() function. Optional arguments: username owner -
             only list modules owned by this user.) -> structure: parameter
             "owner" of type "username" (Login name of a KBase user account.)
          :returns: instance of list of type "modulename" (A module name
             defined in a KIDL typespec.)
          """
          return self._client.call_method(
              'Workspace.list_modules',
              [params], self._service_ver, context)
  
      def list_module_versions(self, params, context=None):
          """
          List typespec module versions.
          :param params: instance of type "ListModuleVersionsParams"
             (Parameters for the list_module_versions function. Required
             arguments: One of: modulename mod - returns all versions of the
             module. type_string type - returns all versions of the module
             associated with the type.) -> structure: parameter "mod" of type
             "modulename" (A module name defined in a KIDL typespec.),
             parameter "type" of type "type_string" (A type string. Specifies
             the type and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1)
          :returns: instance of type "ModuleVersions" (A set of versions from a
             module. modulename mod - the name of the module.
             list<spec_version> - a set or subset of versions associated with
             the module. list<spec_version> - a set or subset of released
             versions associated with the module.) -> structure: parameter
             "mod" of type "modulename" (A module name defined in a KIDL
             typespec.), parameter "vers" of list of type "spec_version" (The
             version of a typespec file.), parameter "released_vers" of list of
             type "spec_version" (The version of a typespec file.)
          """
          return self._client.call_method(
              'Workspace.list_module_versions',
              [params], self._service_ver, context)
  
      def get_module_info(self, params, context=None):
          """
          :param params: instance of type "GetModuleInfoParams" (Parameters for
             the get_module_info function. Required arguments: modulename mod -
             the name of the module to retrieve. Optional arguments:
             spec_version ver - the version of the module to retrieve. Defaults
             to the latest version.) -> structure: parameter "mod" of type
             "modulename" (A module name defined in a KIDL typespec.),
             parameter "ver" of type "spec_version" (The version of a typespec
             file.)
          :returns: instance of type "ModuleInfo" (Information about a module.
             list<username> owners - the owners of the module. spec_version ver
             - the version of the module. typespec spec - the typespec. string
             description - the description of the module from the typespec.
             mapping<type_string, jsonschema> types - the types associated with
             this module and their JSON schema. mapping<modulename,
             spec_version> included_spec_version - names of included modules
             associated with their versions. string chsum - the md5 checksum of
             the object. list<func_string> functions - list of names of
             functions registered in spec. boolean is_released - shows if this
             version of module was released (and hence can be seen by others).)
             -> structure: parameter "owners" of list of type "username" (Login
             name of a KBase user account.), parameter "ver" of type
             "spec_version" (The version of a typespec file.), parameter "spec"
             of type "typespec" (A type specification (typespec) file in the
             KBase Interface Description Language (KIDL).), parameter
             "description" of String, parameter "types" of mapping from type
             "type_string" (A type string. Specifies the type and its version
             in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1) to type "jsonschema" (The JSON Schema (v4)
             representation of a type definition.), parameter
             "included_spec_version" of mapping from type "modulename" (A
             module name defined in a KIDL typespec.) to type "spec_version"
             (The version of a typespec file.), parameter "chsum" of String,
             parameter "functions" of list of type "func_string" (A function
             string for referencing a funcdef. Specifies the function and its
             version in a single string in the format
             [modulename].[funcname]-[major].[minor]: modulename - a string.
             The name of the module containing the function. funcname - a
             string. The name of the function as assigned by the funcdef
             statement. major - an integer. The major version of the function.
             A change in the major version implies the function has changed in
             a non-backwards compatible way. minor - an integer. The minor
             version of the function. A change in the minor version implies
             that the function has changed in a way that is backwards
             compatible with previous function definitions. In many cases, the
             major and minor versions are optional, and if not provided the
             most recent version will be used. Example: MyModule.MyFunc-3.1),
             parameter "is_released" of type "boolean" (A boolean. 0 = false,
             other = true.)
          """
          return self._client.call_method(
              'Workspace.get_module_info',
              [params], self._service_ver, context)
  
      def get_jsonschema(self, type, context=None):
          """
          Get JSON schema for a type.
          :param type: instance of type "type_string" (A type string. Specifies
             the type and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1)
          :returns: instance of type "jsonschema" (The JSON Schema (v4)
             representation of a type definition.)
          """
          return self._client.call_method(
              'Workspace.get_jsonschema',
              [type], self._service_ver, context)
  
      def translate_from_MD5_types(self, md5_types, context=None):
          """
          Translation from types qualified with MD5 to their semantic versions
          :param md5_types: instance of list of type "type_string" (A type
             string. Specifies the type and its version in a single string in
             the format [module].[typename]-[major].[minor]: module - a string.
             The module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1)
          :returns: instance of mapping from type "type_string" (A type string.
             Specifies the type and its version in a single string in the
             format [module].[typename]-[major].[minor]: module - a string. The
             module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1) to list of type "type_string" (A type string.
             Specifies the type and its version in a single string in the
             format [module].[typename]-[major].[minor]: module - a string. The
             module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1)
          """
          return self._client.call_method(
              'Workspace.translate_from_MD5_types',
              [md5_types], self._service_ver, context)
  
      def translate_to_MD5_types(self, sem_types, context=None):
          """
          Translation from types qualified with semantic versions to their MD5'ed versions
          :param sem_types: instance of list of type "type_string" (A type
             string. Specifies the type and its version in a single string in
             the format [module].[typename]-[major].[minor]: module - a string.
             The module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1)
          :returns: instance of mapping from type "type_string" (A type string.
             Specifies the type and its version in a single string in the
             format [module].[typename]-[major].[minor]: module - a string. The
             module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1) to type "type_string" (A type string.
             Specifies the type and its version in a single string in the
             format [module].[typename]-[major].[minor]: module - a string. The
             module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1)
          """
          return self._client.call_method(
              'Workspace.translate_to_MD5_types',
              [sem_types], self._service_ver, context)
  
      def get_type_info(self, type, context=None):
          """
          :param type: instance of type "type_string" (A type string. Specifies
             the type and its version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1)
          :returns: instance of type "TypeInfo" (Information about a type
             type_string type_def - resolved type definition id. string
             description - the description of the type from spec file. string
             spec_def - reconstruction of type definition from spec file.
             jsonschema json_schema - JSON schema of this type. string
             parsing_structure - json document describing parsing structure of
             type in spec file including involved sub-types. list<spec_version>
             module_vers - versions of spec-files containing given type
             version. list<spec_version> released_module_vers - versions of
             released spec-files containing given type version.
             list<type_string> type_vers - all versions of type with given type
             name. list<type_string> released_type_vers - all released versions
             of type with given type name. list<func_string> using_func_defs -
             list of functions (with versions) referring to this type version.
             list<type_string> using_type_defs - list of types (with versions)
             referring to this type version. list<type_string> used_type_defs -
             list of types (with versions) referred from this type version.) ->
             structure: parameter "type_def" of type "type_string" (A type
             string. Specifies the type and its version in a single string in
             the format [module].[typename]-[major].[minor]: module - a string.
             The module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "description" of String, parameter
             "spec_def" of String, parameter "json_schema" of type "jsonschema"
             (The JSON Schema (v4) representation of a type definition.),
             parameter "parsing_structure" of String, parameter "module_vers"
             of list of type "spec_version" (The version of a typespec file.),
             parameter "released_module_vers" of list of type "spec_version"
             (The version of a typespec file.), parameter "type_vers" of list
             of type "type_string" (A type string. Specifies the type and its
             version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "released_type_vers" of list of
             type "type_string" (A type string. Specifies the type and its
             version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "using_func_defs" of list of type
             "func_string" (A function string for referencing a funcdef.
             Specifies the function and its version in a single string in the
             format [modulename].[funcname]-[major].[minor]: modulename - a
             string. The name of the module containing the function. funcname -
             a string. The name of the function as assigned by the funcdef
             statement. major - an integer. The major version of the function.
             A change in the major version implies the function has changed in
             a non-backwards compatible way. minor - an integer. The minor
             version of the function. A change in the minor version implies
             that the function has changed in a way that is backwards
             compatible with previous function definitions. In many cases, the
             major and minor versions are optional, and if not provided the
             most recent version will be used. Example: MyModule.MyFunc-3.1),
             parameter "using_type_defs" of list of type "type_string" (A type
             string. Specifies the type and its version in a single string in
             the format [module].[typename]-[major].[minor]: module - a string.
             The module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "used_type_defs" of list of type
             "type_string" (A type string. Specifies the type and its version
             in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1)
          """
          return self._client.call_method(
              'Workspace.get_type_info',
              [type], self._service_ver, context)
  
      def get_all_type_info(self, mod, context=None):
          """
          :param mod: instance of type "modulename" (A module name defined in a
             KIDL typespec.)
          :returns: instance of list of type "TypeInfo" (Information about a
             type type_string type_def - resolved type definition id. string
             description - the description of the type from spec file. string
             spec_def - reconstruction of type definition from spec file.
             jsonschema json_schema - JSON schema of this type. string
             parsing_structure - json document describing parsing structure of
             type in spec file including involved sub-types. list<spec_version>
             module_vers - versions of spec-files containing given type
             version. list<spec_version> released_module_vers - versions of
             released spec-files containing given type version.
             list<type_string> type_vers - all versions of type with given type
             name. list<type_string> released_type_vers - all released versions
             of type with given type name. list<func_string> using_func_defs -
             list of functions (with versions) referring to this type version.
             list<type_string> using_type_defs - list of types (with versions)
             referring to this type version. list<type_string> used_type_defs -
             list of types (with versions) referred from this type version.) ->
             structure: parameter "type_def" of type "type_string" (A type
             string. Specifies the type and its version in a single string in
             the format [module].[typename]-[major].[minor]: module - a string.
             The module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "description" of String, parameter
             "spec_def" of String, parameter "json_schema" of type "jsonschema"
             (The JSON Schema (v4) representation of a type definition.),
             parameter "parsing_structure" of String, parameter "module_vers"
             of list of type "spec_version" (The version of a typespec file.),
             parameter "released_module_vers" of list of type "spec_version"
             (The version of a typespec file.), parameter "type_vers" of list
             of type "type_string" (A type string. Specifies the type and its
             version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "released_type_vers" of list of
             type "type_string" (A type string. Specifies the type and its
             version in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "using_func_defs" of list of type
             "func_string" (A function string for referencing a funcdef.
             Specifies the function and its version in a single string in the
             format [modulename].[funcname]-[major].[minor]: modulename - a
             string. The name of the module containing the function. funcname -
             a string. The name of the function as assigned by the funcdef
             statement. major - an integer. The major version of the function.
             A change in the major version implies the function has changed in
             a non-backwards compatible way. minor - an integer. The minor
             version of the function. A change in the minor version implies
             that the function has changed in a way that is backwards
             compatible with previous function definitions. In many cases, the
             major and minor versions are optional, and if not provided the
             most recent version will be used. Example: MyModule.MyFunc-3.1),
             parameter "using_type_defs" of list of type "type_string" (A type
             string. Specifies the type and its version in a single string in
             the format [module].[typename]-[major].[minor]: module - a string.
             The module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1), parameter "used_type_defs" of list of type
             "type_string" (A type string. Specifies the type and its version
             in a single string in the format
             [module].[typename]-[major].[minor]: module - a string. The module
             name of the typespec containing the type. typename - a string. The
             name of the type as assigned by the typedef statement. major - an
             integer. The major version of the type. A change in the major
             version implies the type has changed in a non-backwards compatible
             way. minor - an integer. The minor version of the type. A change
             in the minor version implies that the type has changed in a way
             that is backwards compatible with previous type definitions. In
             many cases, the major and minor versions are optional, and if not
             provided the most recent version will be used. Example:
             MyModule.MyType-3.1)
          """
          return self._client.call_method(
              'Workspace.get_all_type_info',
              [mod], self._service_ver, context)
  
      def get_func_info(self, func, context=None):
          """
          :param func: instance of type "func_string" (A function string for
             referencing a funcdef. Specifies the function and its version in a
             single string in the format
             [modulename].[funcname]-[major].[minor]: modulename - a string.
             The name of the module containing the function. funcname - a
             string. The name of the function as assigned by the funcdef
             statement. major - an integer. The major version of the function.
             A change in the major version implies the function has changed in
             a non-backwards compatible way. minor - an integer. The minor
             version of the function. A change in the minor version implies
             that the function has changed in a way that is backwards
             compatible with previous function definitions. In many cases, the
             major and minor versions are optional, and if not provided the
             most recent version will be used. Example: MyModule.MyFunc-3.1)
          :returns: instance of type "FuncInfo" (Information about a function
             func_string func_def - resolved func definition id. string
             description - the description of the function from spec file.
             string spec_def - reconstruction of function definition from spec
             file. string parsing_structure - json document describing parsing
             structure of function in spec file including types of arguments.
             list<spec_version> module_vers - versions of spec files containing
             given func version. list<spec_version> released_module_vers -
             released versions of spec files containing given func version.
             list<func_string> func_vers - all versions of function with given
             type name. list<func_string> released_func_vers - all released
             versions of function with given type name. list<type_string>
             used_type_defs - list of types (with versions) referred to from
             this function version.) -> structure: parameter "func_def" of type
             "func_string" (A function string for referencing a funcdef.
             Specifies the function and its version in a single string in the
             format [modulename].[funcname]-[major].[minor]: modulename - a
             string. The name of the module containing the function. funcname -
             a string. The name of the function as assigned by the funcdef
             statement. major - an integer. The major version of the function.
             A change in the major version implies the function has changed in
             a non-backwards compatible way. minor - an integer. The minor
             version of the function. A change in the minor version implies
             that the function has changed in a way that is backwards
             compatible with previous function definitions. In many cases, the
             major and minor versions are optional, and if not provided the
             most recent version will be used. Example: MyModule.MyFunc-3.1),
             parameter "description" of String, parameter "spec_def" of String,
             parameter "parsing_structure" of String, parameter "module_vers"
             of list of type "spec_version" (The version of a typespec file.),
             parameter "released_module_vers" of list of type "spec_version"
             (The version of a typespec file.), parameter "func_vers" of list
             of type "func_string" (A function string for referencing a
             funcdef. Specifies the function and its version in a single string
             in the format [modulename].[funcname]-[major].[minor]: modulename
             - a string. The name of the module containing the function.
             funcname - a string. The name of the function as assigned by the
             funcdef statement. major - an integer. The major version of the
             function. A change in the major version implies the function has
             changed in a non-backwards compatible way. minor - an integer. The
             minor version of the function. A change in the minor version
             implies that the function has changed in a way that is backwards
             compatible with previous function definitions. In many cases, the
             major and minor versions are optional, and if not provided the
             most recent version will be used. Example: MyModule.MyFunc-3.1),
             parameter "released_func_vers" of list of type "func_string" (A
             function string for referencing a funcdef. Specifies the function
             and its version in a single string in the format
             [modulename].[funcname]-[major].[minor]: modulename - a string.
             The name of the module containing the function. funcname - a
             string. The name of the function as assigned by the funcdef
             statement. major - an integer. The major version of the function.
             A change in the major version implies the function has changed in
             a non-backwards compatible way. minor - an integer. The minor
             version of the function. A change in the minor version implies
             that the function has changed in a way that is backwards
             compatible with previous function definitions. In many cases, the
             major and minor versions are optional, and if not provided the
             most recent version will be used. Example: MyModule.MyFunc-3.1),
             parameter "used_type_defs" of list of type "type_string" (A type
             string. Specifies the type and its version in a single string in
             the format [module].[typename]-[major].[minor]: module - a string.
             The module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1)
          """
          return self._client.call_method(
              'Workspace.get_func_info',
              [func], self._service_ver, context)
  
      def get_all_func_info(self, mod, context=None):
          """
          :param mod: instance of type "modulename" (A module name defined in a
             KIDL typespec.)
          :returns: instance of list of type "FuncInfo" (Information about a
             function func_string func_def - resolved func definition id.
             string description - the description of the function from spec
             file. string spec_def - reconstruction of function definition from
             spec file. string parsing_structure - json document describing
             parsing structure of function in spec file including types of
             arguments. list<spec_version> module_vers - versions of spec files
             containing given func version. list<spec_version>
             released_module_vers - released versions of spec files containing
             given func version. list<func_string> func_vers - all versions of
             function with given type name. list<func_string>
             released_func_vers - all released versions of function with given
             type name. list<type_string> used_type_defs - list of types (with
             versions) referred to from this function version.) -> structure:
             parameter "func_def" of type "func_string" (A function string for
             referencing a funcdef. Specifies the function and its version in a
             single string in the format
             [modulename].[funcname]-[major].[minor]: modulename - a string.
             The name of the module containing the function. funcname - a
             string. The name of the function as assigned by the funcdef
             statement. major - an integer. The major version of the function.
             A change in the major version implies the function has changed in
             a non-backwards compatible way. minor - an integer. The minor
             version of the function. A change in the minor version implies
             that the function has changed in a way that is backwards
             compatible with previous function definitions. In many cases, the
             major and minor versions are optional, and if not provided the
             most recent version will be used. Example: MyModule.MyFunc-3.1),
             parameter "description" of String, parameter "spec_def" of String,
             parameter "parsing_structure" of String, parameter "module_vers"
             of list of type "spec_version" (The version of a typespec file.),
             parameter "released_module_vers" of list of type "spec_version"
             (The version of a typespec file.), parameter "func_vers" of list
             of type "func_string" (A function string for referencing a
             funcdef. Specifies the function and its version in a single string
             in the format [modulename].[funcname]-[major].[minor]: modulename
             - a string. The name of the module containing the function.
             funcname - a string. The name of the function as assigned by the
             funcdef statement. major - an integer. The major version of the
             function. A change in the major version implies the function has
             changed in a non-backwards compatible way. minor - an integer. The
             minor version of the function. A change in the minor version
             implies that the function has changed in a way that is backwards
             compatible with previous function definitions. In many cases, the
             major and minor versions are optional, and if not provided the
             most recent version will be used. Example: MyModule.MyFunc-3.1),
             parameter "released_func_vers" of list of type "func_string" (A
             function string for referencing a funcdef. Specifies the function
             and its version in a single string in the format
             [modulename].[funcname]-[major].[minor]: modulename - a string.
             The name of the module containing the function. funcname - a
             string. The name of the function as assigned by the funcdef
             statement. major - an integer. The major version of the function.
             A change in the major version implies the function has changed in
             a non-backwards compatible way. minor - an integer. The minor
             version of the function. A change in the minor version implies
             that the function has changed in a way that is backwards
             compatible with previous function definitions. In many cases, the
             major and minor versions are optional, and if not provided the
             most recent version will be used. Example: MyModule.MyFunc-3.1),
             parameter "used_type_defs" of list of type "type_string" (A type
             string. Specifies the type and its version in a single string in
             the format [module].[typename]-[major].[minor]: module - a string.
             The module name of the typespec containing the type. typename - a
             string. The name of the type as assigned by the typedef statement.
             major - an integer. The major version of the type. A change in the
             major version implies the type has changed in a non-backwards
             compatible way. minor - an integer. The minor version of the type.
             A change in the minor version implies that the type has changed in
             a way that is backwards compatible with previous type definitions.
             In many cases, the major and minor versions are optional, and if
             not provided the most recent version will be used. Example:
             MyModule.MyType-3.1)
          """
          return self._client.call_method(
              'Workspace.get_all_func_info',
              [mod], self._service_ver, context)
  
      def grant_module_ownership(self, params, context=None):
          """
          Grant ownership of a module. You must have grant ability on the
          module.
          :param params: instance of type "GrantModuleOwnershipParams"
             (Parameters for the grant_module_ownership function. Required
             arguments: modulename mod - the module to modify. username
             new_owner - the user to add to the module's list of owners.
             Optional arguments: boolean with_grant_option - true to allow the
             user to add owners to the module.) -> structure: parameter "mod"
             of type "modulename" (A module name defined in a KIDL typespec.),
             parameter "new_owner" of type "username" (Login name of a KBase
             user account.), parameter "with_grant_option" of type "boolean" (A
             boolean. 0 = false, other = true.)
          """
          return self._client.call_method(
              'Workspace.grant_module_ownership',
              [params], self._service_ver, context)
  
      def remove_module_ownership(self, params, context=None):
          """
          Remove ownership from a current owner. You must have the grant ability
          on the module.
          :param params: instance of type "RemoveModuleOwnershipParams"
             (Parameters for the remove_module_ownership function. Required
             arguments: modulename mod - the module to modify. username
             old_owner - the user to remove from the module's list of owners.)
             -> structure: parameter "mod" of type "modulename" (A module name
             defined in a KIDL typespec.), parameter "old_owner" of type
             "username" (Login name of a KBase user account.)
          """
          return self._client.call_method(
              'Workspace.remove_module_ownership',
              [params], self._service_ver, context)
  
      def list_all_types(self, params, context=None):
          """
          List all released types with released version from all modules. Return
          mapping from module name to mapping from type name to released type
          version.
          :param params: instance of type "ListAllTypesParams" (Parameters for
             list_all_types function. Optional arguments: boolean
             with_empty_modules - include empty module names, optional flag,
             default value is false.) -> structure: parameter
             "with_empty_modules" of type "boolean" (A boolean. 0 = false,
             other = true.)
          :returns: instance of mapping from type "modulename" (A module name
             defined in a KIDL typespec.) to mapping from type "typename" (A
             type definition name in a KIDL typespec.) to type "typever" (A
             version of a type. Specifies the version of the type  in a single
             string in the format [major].[minor]: major - an integer. The
             major version of the type. A change in the major version implies
             the type has changed in a non-backwards compatible way. minor - an
             integer. The minor version of the type. A change in the minor
             version implies that the type has changed in a way that is
             backwards compatible with previous type definitions.)
          """
          return self._client.call_method(
              'Workspace.list_all_types',
              [params], self._service_ver, context)
  
      def administer(self, command, context=None):
          """
          The administration interface.
          :param command: instance of unspecified object
          :returns: instance of unspecified object
          """
          return self._client.call_method(
              'Workspace.administer',
              [command], self._service_ver, context)
  
      def status(self, context=None):
          return self._client.call_method('Workspace.status',
                                          [], self._service_ver, context)
  