Merge branch '8784-dir-listings'
[arvados.git] / doc / sdk / cli / subcommands.html.textile.liquid
index 07be3cf84de1576b129c6efcd9b2b80a7cbc8af9..f9652ef3861502b135689ba9730fb1585732ef09 100644 (file)
@@ -5,8 +5,13 @@ navmenu: CLI
 title: "arv subcommands"
 
 ...
+{% comment %}
+Copyright (C) The Arvados Authors. All rights reserved.
 
-The @arv@ CLI tool provides access to a number of subcommands which are described on this page.
+SPDX-License-Identifier: CC-BY-SA-3.0
+{% endcomment %}
+
+_In order to use the @arv@ command, make sure that you have a "working environment.":{{site.baseurl}}/user/getting_started/check-environment.html_
 
 h3(#arv-create). arv create
 
@@ -21,6 +26,20 @@ Options:
 </pre>
 </notextile>
 
+h3(#arv-get). arv get
+
+@arv get@ can be used to get a textual representation of Arvados objects from the command line. The output can be limited to a subset of the object's fields. This command can be used with only the knowledge of an object's UUID.
+
+<notextile>
+<pre>
+$ <code class="userinput">arv get --help</code>
+Usage: arv [--format json|yaml] get [uuid] [fields...]
+
+Fetch the specified Arvados object, select the specified fields,
+and print a text representation.
+</pre>
+</notextile>
+
 h3(#arv-edit). arv edit
 
 @arv edit@ can be used to edit Arvados objects from the command line. Arv edit opens up the editor of your choice (set the EDITOR environment variable) with the json or yaml description of the object. Saving the file will update the Arvados object on the API server, if it passes validation.
@@ -45,11 +64,11 @@ h3(#arv-copy). arv copy
 <notextile>
 <pre>
 $ <code class="userinput">arv copy --help</code>
-usage: arv-copy [-h] [-v] [--progress] [--no-progress] [-f] --src
-                SOURCE_ARVADOS --dst DESTINATION_ARVADOS [--recursive]
-                [--no-recursive] [--dst-git-repo DST_GIT_REPO]
-                [--project-uuid PROJECT_UUID] [--retries RETRIES]
-                object_uuid
+usage: arv_copy.py [-h] [-v] [--progress] [--no-progress] [-f] --src
+                   SOURCE_ARVADOS --dst DESTINATION_ARVADOS [--recursive]
+                   [--no-recursive] [--dst-git-repo DST_GIT_REPO]
+                   [--project-uuid PROJECT_UUID] [--retries RETRIES]
+                   object_uuid
 
 Copy a pipeline instance, template or collection from one Arvados instance to
 another.
@@ -64,15 +83,15 @@ optional arguments:
   --no-progress         Do not report progress on copying collections.
   -f, --force           Perform copy even if the object appears to exist at
                         the remote destination.
-  --src SOURCE_ARVADOS  The name of the source Arvados instance (required).
-                        May be either a pathname to a config file, or the
-                        basename of a file in
-                        $HOME/.config/arvados/instance_name.conf.
+  --src SOURCE_ARVADOS  The name of the source Arvados instance (required) -
+                        points at an Arvados config file. May be either a
+                        pathname to a config file, or (for example) "foo" as
+                        shorthand for $HOME/.config/arvados/foo.conf.
   --dst DESTINATION_ARVADOS
                         The name of the destination Arvados instance
-                        (required). May be either a pathname to a config file,
-                        or the basename of a file in
-                        $HOME/.config/arvados/instance_name.conf.
+                        (required) - points at an Arvados config file. May be
+                        either a pathname to a config file, or (for example)
+                        "foo" as shorthand for $HOME/.config/arvados/foo.conf.
   --recursive           Recursively copy any dependencies for this object.
                         (default)
   --no-recursive        Do not copy any dependencies. NOTE: if this option is
@@ -97,7 +116,12 @@ h3(#arv-tag). arv tag
 <notextile>
 <pre>
 $ <code class="userinput">arv tag --help</code>
-arvados cli client
+
+Usage:
+arv tag add tag1 [tag2 ...] --object object_uuid1 [object_uuid2...]
+arv tag remove tag1 [tag2 ...] --object object_uuid1 [object_uuid2...]
+arv tag remove --all
+
   --dry-run, -n:   Don't actually do anything
   --verbose, -v:   Print some things on stderr
      --uuid, -u:   Return the UUIDs of the objects in the response, one per
@@ -152,10 +176,163 @@ $ <code class="userinput">arv keep --help</code>
 Usage: arv keep [method] [--parameters]
 Use 'arv keep [method] --help' to get more information about specific methods.
 
-Available methods: ls, get, put, less, check, docker
+Available methods: ls, get, put, docker
+</pre>
+</notextile>
+
+h3(#arv-keep-ls). arv keep ls
+
+<notextile>
+<pre>
+$ <code class="userinput">arv keep ls --help</code>
+usage: arv-ls [-h] [--retries RETRIES] [-s] locator
+
+List contents of a manifest
+
+positional arguments:
+  locator            Collection UUID or locator
+
+optional arguments:
+  -h, --help         show this help message and exit
+  --retries RETRIES  Maximum number of times to retry server requests that
+                     encounter temporary failures (e.g., server down). Default
+                     3.
+  -s                 List file sizes, in KiB.
+</pre>
+</notextile>
+
+h3(#arv-keep-get). arv keep get
+
+<notextile>
+<pre>
+$ <code class="userinput">arv keep get --help</code>
+usage: arv-get [-h] [--retries RETRIES]
+               [--progress | --no-progress | --batch-progress]
+               [--hash HASH | --md5sum] [-n] [-r] [-f | --skip-existing]
+               locator [destination]
+
+Copy data from Keep to a local file or pipe.
+
+positional arguments:
+  locator            Collection locator, optionally with a file path or
+                     prefix.
+  destination        Local file or directory where the data is to be written.
+                     Default: /dev/stdout.
+
+optional arguments:
+  -h, --help         show this help message and exit
+  --retries RETRIES  Maximum number of times to retry server requests that
+                     encounter temporary failures (e.g., server down). Default
+                     3.
+  --progress         Display human-readable progress on stderr (bytes and, if
+                     possible, percentage of total data size). This is the
+                     default behavior when it is not expected to interfere
+                     with the output: specifically, stderr is a tty _and_
+                     either stdout is not a tty, or output is being written to
+                     named files rather than stdout.
+  --no-progress      Do not display human-readable progress on stderr.
+  --batch-progress   Display machine-readable progress on stderr (bytes and,
+                     if known, total data size).
+  --hash HASH        Display the hash of each file as it is read from Keep,
+                     using the given hash algorithm. Supported algorithms
+                     include md5, sha1, sha224, sha256, sha384, and sha512.
+  --md5sum           Display the MD5 hash of each file as it is read from
+                     Keep.
+  -n                 Do not write any data -- just read from Keep, and report
+                     md5sums if requested.
+  -r                 Retrieve all files in the specified collection/prefix.
+                     This is the default behavior if the "locator" argument
+                     ends with a forward slash.
+  -f                 Overwrite existing files while writing. The default
+                     behavior is to refuse to write *anything* if any of the
+                     output files already exist. As a special case, -f is not
+                     needed to write to /dev/stdout.
+  --skip-existing    Skip files that already exist. The default behavior is to
+                     refuse to write *anything* if any files exist that would
+                     have to be overwritten. This option causes even devices,
+                     sockets, and fifos to be skipped.
 </pre>
 </notextile>
 
+h3(#arv-keep-put). arv keep put
+
+<notextile>
+<pre>
+$ <code class="userinput">arv keep put --help</code>
+usage: arv-put [-h] [--max-manifest-depth N | --normalize]
+               [--as-stream | --stream | --as-manifest | --in-manifest | --manifest | --as-raw | --raw]
+               [--use-filename FILENAME] [--filename FILENAME]
+               [--portable-data-hash] [--replication N]
+               [--project-uuid UUID] [--name NAME]
+               [--progress | --no-progress | --batch-progress]
+               [--resume | --no-resume] [--retries RETRIES]
+               [path [path ...]]
+
+Copy data from the local filesystem to Keep.
+
+positional arguments:
+  path                  Local file or directory. Default: read from standard
+                        input.
+
+optional arguments:
+  -h, --help            show this help message and exit
+  --max-manifest-depth N
+                        Maximum depth of directory tree to represent in the
+                        manifest structure. A directory structure deeper than
+                        this will be represented as a single stream in the
+                        manifest. If N=0, the manifest will contain a single
+                        stream. Default: -1 (unlimited), i.e., exactly one
+                        manifest stream per filesystem directory that contains
+                        files.
+  --normalize           Normalize the manifest by re-ordering files and
+                        streams after writing data.
+  --as-stream           Synonym for --stream.
+  --stream              Store the file content and display the resulting
+                        manifest on stdout. Do not write the manifest to Keep
+                        or save a Collection object in Arvados.
+  --as-manifest         Synonym for --manifest.
+  --in-manifest         Synonym for --manifest.
+  --manifest            Store the file data and resulting manifest in Keep,
+                        save a Collection object in Arvados, and display the
+                        manifest locator (Collection uuid) on stdout. This is
+                        the default behavior.
+  --as-raw              Synonym for --raw.
+  --raw                 Store the file content and display the data block
+                        locators on stdout, separated by commas, with a
+                        trailing newline. Do not store a manifest.
+  --use-filename FILENAME
+                        Synonym for --filename.
+  --filename FILENAME   Use the given filename in the manifest, instead of the
+                        name of the local file. This is useful when "-" or
+                        "/dev/stdin" is given as an input file. It can be used
+                        only if there is exactly one path given and it is not
+                        a directory. Implies --manifest.
+  --portable-data-hash  Print the portable data hash instead of the Arvados
+                        UUID for the collection created by the upload.
+  --replication N       Set the replication level for the new collection: how
+                        many different physical storage devices (e.g., disks)
+                        should have a copy of each data block. Default is to
+                        use the server-provided default (if any) or 2.
+  --project-uuid UUID   Store the collection in the specified project, instead
+                        of your Home project.
+  --name NAME           Save the collection with the specified name.
+  --progress            Display human-readable progress on stderr (bytes and,
+                        if possible, percentage of total data size). This is
+                        the default behavior when stderr is a tty.
+  --no-progress         Do not display human-readable progress on stderr, even
+                        if stderr is a tty.
+  --batch-progress      Display machine-readable progress on stderr (bytes
+                        and, if known, total data size).
+  --resume              Continue interrupted uploads from cached state
+                        (default).
+  --no-resume           Do not continue interrupted uploads from cached state.
+  --retries RETRIES     Maximum number of times to retry server requests that
+                        encounter temporary failures (e.g., server down).
+                        Default 3.
+</pre>
+</notextile>
+
+
 h3(#arv-pipeline-run). arv pipeline run
 
 @arv pipeline run@ can be used to start a pipeline run from the command line.
@@ -204,7 +381,7 @@ Options:
 
 h3(#arv-run). arv run
 
-The @arv-run@ command creates Arvados pipelines at the command line that fan out to multiple concurrent tasks across Arvado compute nodes.
+The @arv-run@ command creates Arvados pipelines at the command line that fan out to multiple concurrent tasks across Arvados compute nodes.
 
 The User Guide has a page on "using arv-run":{{site.baseurl}}/user/topics/arv-run.html.
 
@@ -229,7 +406,7 @@ optional arguments:
                         exit
   --local               Run locally using arv-run-pipeline-instance
   --docker-image DOCKER_IMAGE
-                        Docker image to use, default arvados/jobs
+                        Docker image to use, otherwise use instance default.
   --ignore-rcode        Commands that return non-zero return codes should not
                         be considered failed.
   --no-reuse            Do not reuse past jobs.
@@ -245,4 +422,3 @@ optional arguments:
                         script_version field of component, default 'master'
 </pre>
 </notextile>
-