Files
python-barbicanclient/doc/source/cli_usage.rst
Fernando Diaz 34256de82d Allow Barbican Client Secret Update Functionality
This patch will allow the python-barbicanclient to perform
Secret Updates. This functionality will also be added to the
barbican command line client. I will also allow for a secret
to be created without a payload.

Change-Id: Ia53e1cc463f9a274feb11f6e3bb3cbbe981c3444
2015-08-25 09:56:24 -05:00

182 lines
8.6 KiB
ReStructuredText

CLI Usage
=========
.. code-block:: bash
usage: barbican [--version] [-v] [--log-file LOG_FILE] [-q] [-h] [--debug]
[--no-auth] [--os-identity-api-version <identity-api-version>]
[--os-auth-url <auth-url>] [--os-username <auth-user-name>]
[--os-user-id <auth-user-id>] [--os-password <auth-password>]
[--os-user-domain-id <auth-user-domain-id>]
[--os-user-domain-name <auth-user-domain-name>]
[--os-tenant-name <auth-tenant-name>]
[--os-tenant-id <tenant-id>]
[--os-project-id <auth-project-id>]
[--os-project-name <auth-project-name>]
[--os-project-domain-id <auth-project-domain-id>]
[--os-project-domain-name <auth-project-domain-name>]
[--os-auth-token <auth-token>]
[--endpoint <barbican-url>] [--insecure]
[--os-cacert <ca-certificate>] [--os-cert <certificate>]
[--os-key <key>] [--timeout <seconds>]
The examples below assume that credentials have been saved to your environment.
If you don't have variables saved to your environment or you wish to use
different credentials than those defined, any of the optional arguments listed
above may be passed to Barbican.
Barbican takes a positional argument <entity>, which specifies whether you
wish to operate on a secret or an order.
Secrets
-------
.. code-block:: bash
$ barbican secret <action>
A subcommand describing the action to be performed should follow.
The subcommands are mostly the same for secrets and orders, although some
optional arguments only apply to one or the other.
Subcommand actions that a user can take for secrets are:
.. code-block:: bash
secret delete Delete a secret by providing its URI.
secret get Retrieve a secret by providing its URI.
secret list List secrets.
secret store Store a secret in Barbican.
Each subcommand takes in a different set of arguments, and the help message
varies from one to another. The help message for **get** can be seen below.
.. code-block:: bash
$ barbican help secret get
usage: barbican secret get [-h] [-f {shell,table,value}] [-c COLUMN]
[--max-width <integer>] [--prefix PREFIX]
[--decrypt] [--payload]
[--payload_content_type PAYLOAD_CONTENT_TYPE]
URI
Retrieve a secret by providing its URI.
positional arguments:
URI The URI reference for the secret.
optional arguments:
-h, --help show this help message and exit
--decrypt, -d if specified, retrieve the unencrypted secret data;
the data type can be specified with --payload-content-
type.
--payload, -p if specified, retrieve the unencrypted secret data;
the data type can be specified with --payload-content-
type. If the user wishes to only retrieve the value of
the payload they must add "-f value" to format
returning only the value of the payload
--payload_content_type PAYLOAD_CONTENT_TYPE, -t PAYLOAD_CONTENT_TYPE
the content type of the decrypted secret (default:
text/plain.
output formatters:
output formatter options
-f {shell,table,value}, --format {shell,table,value}
the output format, defaults to table
-c COLUMN, --column COLUMN
specify the column(s) to include, can be repeated
table formatter:
--max-width <integer>
Maximum display width, 0 to disable
shell formatter:
a format a UNIX shell can parse (variable="value")
--prefix PREFIX add a prefix to all variable names
Secret Create
~~~~~~~~~~~~~
.. code-block:: bash
$ barbican secret store -n mysecretname -p 'my secret value'
+---------------+-----------------------------------------------------------------------+
| Field | Value |
+---------------+-----------------------------------------------------------------------+
| Secret href | http://localhost:9311/v1/secrets/a70a45d8-4076-42a2-b111-8893d3b92a3e |
| Name | mysecretname |
| Created | None |
| Status | None |
| Content types | None |
| Algorithm | aes |
| Bit length | 256 |
| Mode | cbc |
| Expiration | None |
+---------------+-----------------------------------------------------------------------+
Secret Get
~~~~~~~~~~
.. code-block:: bash
$ barbican secret get http://localhost:9311/v1/secrets/a70a45d8-4076-42a2-b111-8893d3b92a3e
+---------------+-----------------------------------------------------------------------+
| Field | Value |
+---------------+-----------------------------------------------------------------------+
| Secret href | http://localhost:9311/v1/secrets/a70a45d8-4076-42a2-b111-8893d3b92a3e |
| Name | mysecretname |
| Created | 2015-04-16 20:36:40.334696+00:00 |
| Status | ACTIVE |
| Content types | {u'default': u'application/octet-stream'} |
| Algorithm | aes |
| Bit length | 256 |
| Mode | cbc |
| Expiration | None |
+---------------+-----------------------------------------------------------------------+
To retrieve only the raw value of the payload we have introduced the :code:`-p`
or :code:`--payload` option paired with the :code:`-f value` cliff formatting
option. (The :code:`--decrypt` option will perform the same action; however,
it will be deprecated)
.. code-block:: bash
$ barbican secret get http://localhost:9311/v1/secrets/a70a45d8-4076-42a2-b111-8893d3b92a3e --payload -f value
my secret value
Secret Delete
~~~~~~~~~~~~~
.. code-block:: bash
$ barbican secret delete http://localhost:9311/v1/secrets/a70a45d8-4076-42a2-b111-8893d3b92a3e
Secret Update
~~~~~~~~~~~~~
.. code-block:: bash
$ barbican secret update http://localhost:9311/v1/secrets/a70a45d8-4076-42a2-b111-8893d3b92a3e ``my_payload``
In order for a secret to be updated it must have been created without a payload.
``my_payload`` will be added as the secret's payload.
Secret List
~~~~~~~~~~~
.. code-block:: bash
$ barbican secret list
+-----------------------------------------------------------------------+------+----------------------------------+--------+-------------------------------------------+-----------+------------+------+------------+
| Secret href | Name | Created | Status | Content types | Algorithm | Bit length | Mode | Expiration |
+-----------------------------------------------------------------------+------+----------------------------------+--------+-------------------------------------------+-----------+------------+------+------------+
| http://localhost:9311/v1/secrets/bb3d8c20-8ea5-4bfc-9645-c8da79c8b371 | None | 2015-04-15 20:37:37.501475+00:00 | ACTIVE | {u'default': u'application/octet-stream'} | aes | 256 | cbc | None |
+-----------------------------------------------------------------------+------+----------------------------------+--------+-------------------------------------------+-----------+------------+------+------------+