Skip to content

All Commands

John Bradley edited this page Feb 7, 2022 · 6 revisions

DukeDSClient

Version 3.4.0

Commands

list

Show a list of project names or folders/files of a single project.

usage: ddsclient list [-h]
                      [--auth-role AuthRole | [-p ProjectName | -i ProjectUUID]]
                      [-l]

optional arguments:
  -h, --help            show this help message and exit
  --auth-role AuthRole  Filters project listing to just those projects with
                        the specified role. See command list_auth_roles for
                        AuthRole values.
  -p ProjectName, --project-name ProjectName
                        Name of the project to show details for.
  -i ProjectUUID, --project-id ProjectUUID
                        ID of the project to show details for.
  -l                    Display long format.

upload

Uploads local files and folders to a remote store. After files are uploaded this command waits for all files to be valid/downloadable.

usage: ddsclient upload [-h] [--dry-run] (-p ProjectName | -i ProjectUUID)
                        [--follow-symlinks] [--no-check]
                        Folders [Folders ...]

positional arguments:
  Folders               Names of the files and/or folders to upload to the
                        remote project.

optional arguments:
  -h, --help            show this help message and exit
  --dry-run             Instead of uploading displays a list of folders/files
                        that need to be uploaded.
  -p ProjectName, --project-name ProjectName
                        Name of the project to upload files/folders to..
  -i ProjectUUID, --project-id ProjectUUID
                        ID of the project to upload files/folders to..
  --follow-symlinks     Follow symbolic links(experimental).
  --no-check            Skip checking/waiting for uploaded files to be in the
                        valid/downloadable state.

add-user

Gives user permission to access a remote project.

usage: ddsclient add-user [-h] (-p ProjectName | -i ProjectUUID)
                          (--user Username | --email UserEmail)
                          [--auth-role AuthRole]

optional arguments:
  -h, --help            show this help message and exit
  -p ProjectName, --project-name ProjectName
                        Name of the project to add a user to.
  -i ProjectUUID, --project-id ProjectUUID
                        ID of the project to add a user to.
  --user Username       Username(NetID) to update permissions on. You must
                        specify either --email or this flag.
  --email UserEmail     Email of the person you want to update permissions on.
                        You must specify either --user or this flag.
  --auth-role AuthRole  Specifies which project permissions to give to the
                        user. Example: 'project_admin'. See command
                        list_auth_roles for AuthRole values.

remove-user

Removes user permission to access a remote project.

usage: ddsclient remove-user [-h] (-p ProjectName | -i ProjectUUID)
                             (--user Username | --email UserEmail)

optional arguments:
  -h, --help            show this help message and exit
  -p ProjectName, --project-name ProjectName
                        Name of the project to remove a user from.
  -i ProjectUUID, --project-id ProjectUUID
                        ID of the project to remove a user from.
  --user Username       Username(NetID) to update permissions on. You must
                        specify either --email or this flag.
  --email UserEmail     Email of the person you want to update permissions on.
                        You must specify either --user or this flag.

download

Download the contents of a remote remote project to a local folder.

usage: ddsclient download [-h] (-p ProjectName | -i ProjectUUID)
                          [--include Path | --exclude Path]
                          [Folder]

positional arguments:
  Folder                Name of the folder to download the project contents
                        into. If not specified it will use the name of the
                        project with spaces translated to '_'.

optional arguments:
  -h, --help            show this help message and exit
  -p ProjectName, --project-name ProjectName
                        Name of the project to download.
  -i ProjectUUID, --project-id ProjectUUID
                        ID of the project to download.
  --include Path        Specifies a single path to include. This argument can
                        be repeated.
  --exclude Path        Specifies a single path to exclude. This argument can
                        be repeated.

share

Share a project with another user with specified permissions. Sends the other user an email message via D4S2 service. If not specified this command gives user download permissions.

usage: ddsclient share [-h] (-p ProjectName | -i ProjectUUID)
                       (--user Username | --email UserEmail)
                       [--auth-role AuthRole] [--resend] [--msg-file MSG_FILE]

optional arguments:
  -h, --help            show this help message and exit
  -p ProjectName, --project-name ProjectName
                        Name of the project to manage.
  -i ProjectUUID, --project-id ProjectUUID
                        ID of the project to manage.
  --user Username       Username(NetID) to update permissions on. You must
                        specify either --email or this flag.
  --email UserEmail     Email of the person you want to update permissions on.
                        You must specify either --user or this flag.
  --auth-role AuthRole  Specifies which project permissions to give to the
                        user. Example: 'project_admin'. See command
                        list_auth_roles for AuthRole values.
  --resend              Resend share
  --msg-file MSG_FILE   Filename containing a message to be sent with the
                        share. Pass - to read from stdin.

deliver

Initiate delivery of a project to another user. Removes other user's current permissions. Send message to D4S2 service to send email and allow access to the project once user acknowledges receiving the data.

usage: ddsclient deliver [-h] (-p ProjectName | -i ProjectUUID)
                         (--user Username | --email UserEmail)
                         [--share-users ShareUsers [ShareUsers ...]]
                         [--share-emails ShareEmails [ShareEmails ...]]
                         [--copy] [--resend] [--include Path | --exclude Path]
                         [--msg-file MSG_FILE]

optional arguments:
  -h, --help            show this help message and exit
  -p ProjectName, --project-name ProjectName
                        Name of the project to manage.
  -i ProjectUUID, --project-id ProjectUUID
                        ID of the project to manage.
  --user Username       Username(NetID) to update permissions on. You must
                        specify either --email or this flag.
  --email UserEmail     Email of the person you want to update permissions on.
                        You must specify either --user or this flag.
  --share-users ShareUsers [ShareUsers ...]
                        Usernames(NetIDs) of the people you want to share with
                        upon delivery acceptance.
  --share-emails ShareEmails [ShareEmails ...]
                        Email of the person you want to share with upon
                        delivery acceptance.
  --copy                Instead of delivering the specified project, deliver a
                        copy of the project.
  --resend              Resend delivery
  --include Path        Specifies a single path to include. This argument can
                        be repeated.
  --exclude Path        Specifies a single path to exclude. This argument can
                        be repeated.
  --msg-file MSG_FILE   Filename containing a message to be sent with the
                        delivery. Pass - to read from stdin.

delete

Permanently delete a project or file/folder.

usage: ddsclient delete [-h] (-p ProjectName | -i ProjectUUID)
                        [--path RemotePath] [--force]

optional arguments:
  -h, --help            show this help message and exit
  -p ProjectName, --project-name ProjectName
                        Name of the project to delete.
  -i ProjectUUID, --project-id ProjectUUID
                        ID of the project to delete.
  --path RemotePath     remote path specifying the file/folder to be deleted
                        instead of the entire project
  --force               Do not prompt before deleting.

list-auth-roles

List authorization roles for use with add_user command.

usage: ddsclient list-auth-roles [-h]

optional arguments:
  -h, --help  show this help message and exit

move

Moves and/or renames a file or folder within a project. When Target is a directory Source will be moved into it that directory. Otherwise Source will be renamed to the filename of Target and moved into the parent directory of Target. Target and Source are remote paths that must start with a '/'.

usage: ddsclient move [-h] (-p ProjectName | -i ProjectUUID) Source Target

positional arguments:
  Source                remote path specifying the file/folder to be moved
  Target                remote path specifying where to move the file/folder
                        to

optional arguments:
  -h, --help            show this help message and exit
  -p ProjectName, --project-name ProjectName
                        Name of the project to containing a file/folder to
                        move.
  -i ProjectUUID, --project-id ProjectUUID
                        ID of the project to containing a file/folder to move.

info

Print information about a project.

usage: ddsclient info [-h] (-p ProjectName | -i ProjectUUID)

optional arguments:
  -h, --help            show this help message and exit
  -p ProjectName, --project-name ProjectName
                        Name of the project to to show the information about.
  -i ProjectUUID, --project-id ProjectUUID
                        ID of the project to to show the information about.

check

Check that a project is in a consistent state.

usage: ddsclient check [-h] (-p ProjectName | -i ProjectUUID) [--wait]

optional arguments:
  -h, --help            show this help message and exit
  -p ProjectName, --project-name ProjectName
                        Name of the project to check.
  -i ProjectUUID, --project-id ProjectUUID
                        ID of the project to check.
  --wait                Wait for project to become consistent.