CLI commands — python-barbicanclient — branch stable/2026.2
Branch
stable/2026.2@8162006e8677— repository https://opendev.org/openstack/python-barbicanclient — analysed on 2026-11-01
python-barbicanclient exposes no API of its own. Its interface is 23 commands, loaded in openstack as a plugin and in the deprecated barbican shell, and the Python library under them. Its contract with the outside is the REST calls it sends to Barbican (03, 07).
"Requests" below were observed on a local stub. That shows the routes and bodies the client sends, not what a real Barbican does with them.
1. Shared mechanics
- Plugin loading: the entry point
openstack.cli.extension: key_manager = barbicanclient.osc_plugin(setup.cfg:33) names the module. OSC readsAPI_NAME,API_VERSIONS,API_VERSION_OPTIONandbuild_option_parser(barbicanclient/osc_plugin.py:18), adds the global--os-key-manager-api-version(default1, envOS_KEY_MANAGER_API_VERSION,barbicanclient/osc_plugin.py:35), and adds the groupopenstack.key_manager.v1(openstackclient:openstackclient/shell.py:135). - Client creation: lazily, at the first access to
client_manager.key_manager(osc-lib:osc_lib/clientmanager.py:36,openstackclient:openstackclient/common/clientmanager.py:251), throughmake_client(barbicanclient/osc_plugin.py:26). Creation sends the two discovery requests. So a command that fails argument checks after touching the client has already done authentication and discovery [observed:secret container createwithout--secretsends discovery, then fails]. - Microversion: negotiated per process, 1.2 at most; the user cannot choose it from the CLI. See 03 § 2.
- Reference arguments:
URIaccepts a full URL or a bare UUID, except onacl *, which need a URL. Only the last path segment is used, parsed as a UUID (barbicanclient/base.py:37). The host part is ignored [observed]. Non-canonical UUID forms are accepted, sinceuuid.UUIDparses them (barbicanclient/base.py:46). - Output: cliff's
ShowOneandListergive the options-f table|json|yaml|csv|value,-c.command.Commandprints nothing. Fields are formatted by theEntityFormattermixins (barbicanclient/formatter.py:16). - Immutable after save: entity objects refuse setters once they have a ref (
barbicanclient/v1/secrets.py:38,barbicanclient/v1/orders.py:28,barbicanclient/v1/containers.py:29). This applies to the Python API; no command sets a property after creation. - Exit codes: 0 success, 1 any exception, 2 usage error or unknown command; see 02.
2. Functional description by family
Secrets (secret store|get|list|update|delete)
Purpose: keep a sensitive value (key, passphrase, certificate) in Barbican. Actor: any project member the service's policy allows; the client knows nothing of policy.
- store (
barbicanclient/barbican_cli/v1/secrets.py:151). Creates a secret, with or without payload.- Defaults sent every time:
algorithm=aes,bit_length=256,mode=cbc,secret_type=opaque(barbicanclient/barbican_cli/v1/secrets.py:158,barbicanclient/barbican_cli/v1/secrets.py:170) [observed]. - The payload is encoded by these rules (
barbicanclient/v1/secrets.py:338): | Input |payloadsent |payload_content_type|payload_content_encoding| Source | |---|---|---|---|---| |--payload x, no-t, no-e| base64 of the UTF-8 bytes |application/octet-stream|base64|barbicanclient/barbican_cli/v1/secrets.py:196,barbicanclient/v1/secrets.py:370| |--file f, no-t, no-e| base64 of the file |application/octet-stream|base64|barbicanclient/v1/secrets.py:370| |--payload xwith-tor-e| the text, unchanged | as given | as given |barbicanclient/v1/secrets.py:355| |--file fwith-tor-e| the file decoded as UTF-8; fails on anything else | as given | as given |barbicanclient/v1/secrets.py:363| | no payload,-tgiven | none, onlypayload_content_type| as given | |barbicanclient/v1/secrets.py:366| |--payload ""| none: treated as absent | | |barbicanclient/barbican_cli/v1/secrets.py:196| | empty--file| refused:Invalid Payload: Cannot Be Empty String| | |barbicanclient/v1/secrets.py:351| - All cases above were [observed]. The
strbranch atbarbicanclient/v1/secrets.py:380(text/plain) is unreachable from the CLI, because the command always encodes first. - Outcome: the table shows the
secret_refreturned. With--name, no reload happens, andCreated,Status,Content typesprintNone. Without a name the client reloads, about 10 times [observed]; see 02 § 4.
- Defaults sent every time:
- get (
barbicanclient/barbican_cli/v1/secrets.py:43).- Without options: metadata from
GET /secrets/{id}. - With
--decrypt,--payloador--file(mutually exclusive):GET /secrets/{id}/payloadwithAcceptfrom-t/--payload_content_type, defaulttext/plain. Atext/plainanswer is decoded as UTF-8 (barbicanclient/v1/secrets.py:324). The service translates between stored and requested type, and answers 406 when the bytes are not valid UTF-8 for text (barbican:barbican/plugin/util/translations.py:103). --filerefuses an existing file, after fetching, and prints nothing on success (barbicanclient/barbican_cli/v1/secrets.py:78) [observed].
- Without options: metadata from
- list (
barbicanclient/barbican_cli/v1/secrets.py:111). One page, default 10. Filters--name,--algorithm(alg),--bit-length(bits),--mode,--secret-type[observed]. Time filters andsortexist only in the Python API (barbicanclient/v1/secrets.py:667). - update (
barbicanclient/barbican_cli/v1/secrets.py:96). Adds a payload to a secret stored without one:PUT /secrets/{id},Content-Type: text/plain. The payload is a positional argument, hence visible in the process list. The service refuses a secret that already has data (barbican:barbican/api/controllers/secrets.py:58). - delete (
barbicanclient/barbican_cli/v1/secrets.py:25). Behaviour depends on the microversion; see 03 § 2 and 04 § 5.
Secret consumers (secret consumer create|delete|list)
Purpose: declare which service and resource use a secret, so that deleting it is refused at 1.2 and above. All need microversion 1.1 (barbicanclient/v1/secrets.py:683). Required: --service-type-name, --resource-type, --resource-id.
- create (
barbicanclient/barbican_cli/v1/secrets.py:209):POST /secrets/{id}/consumers/. The returned secret is read into aSecret, then dropped: nothing is printed (barbicanclient/v1/secrets.py:717). - delete (
barbicanclient/barbican_cli/v1/secrets.py:233):DELETE /secrets/{id}/consumerswith the same JSON body. - list (
barbicanclient/barbican_cli/v1/secrets.py:257):GET /secrets/{id}/consumers?limit&offset; columns Service, Resource type, Resource id, Created.
Orders (secret order create|get|list|delete)
Purpose: ask the service to generate key material. The order is processed asynchronously by the service; the client does not wait (05).
- create (
barbicanclient/barbican_cli/v1/orders.py:21): positionaltype,keyorasymmetric. Defaultsaes, 256,cbc,application/octet-stream, whatever the type [observed]. Forasymmetric,--modeis accepted and ignored (barbicanclient/v1/orders.py:272) [observed], and the passphrase of the Python API has no option. Prints the order withStatus None[observed]. - get (
barbicanclient/barbican_cli/v1/orders.py:73): builds aKeyOrderorAsymmetricOrderfromtype(barbicanclient/v1/orders.py:343). - list (
barbicanclient/barbican_cli/v1/orders.py:87), delete (barbicanclient/barbican_cli/v1/orders.py:61).
A key order must have only name, algorithm, mode, bit_length, expiration, payload_content_type in meta (barbicanclient/v1/orders.py:226, barbicanclient/v1/orders.py:348).
Containers (secret container create|get|list|delete)
Purpose: group secret references: generic, rsa (public_key, private_key, private_key_passphrase), certificate (certificate, intermediates, private_key, private_key_passphrase).
- create (
barbicanclient/barbican_cli/v1/containers.py:79):--secret name=refrepeated. No--secretat all is refused (barbicanclient/barbican_cli/v1/containers.py:135). A value without exactly one=is silently dropped (barbicanclient/barbican_cli/v1/containers.py:138) [observed].- Each ref is parsed as a UUID locally; failure gives
One or more of the provided secret_refs could not be retrieved!(barbicanclient/v1/containers.py:103) [observed]. The client does not check that the secret exists. - For typed containers, only the expected names are kept, and others dropped silently (
barbicanclient/barbican_cli/v1/containers.py:103). Required names are not checked locally: an emptyrsais sent [observed], and the service validates (barbican:barbican/common/validators.py:732). - Secret names are lower-cased (
barbicanclient/v1/containers.py:116). - After the POST, the client reads
status, which sendsGET /containers/{id}[observed].
- get (
barbicanclient/barbican_cli/v1/containers.py:37): the columns depend on the type (barbicanclient/v1/containers.py:40,barbicanclient/v1/containers.py:268,barbicanclient/v1/containers.py:385). - list (
barbicanclient/barbican_cli/v1/containers.py:51): generic columns for every type (barbicanclient/v1/containers.py:265). Filters--name,--type. - delete (
barbicanclient/barbican_cli/v1/containers.py:25).
The client has no command for container consumers; see § 4.
ACLs (acl get|submit|delete, acl user add|remove)
Purpose: grant read access on a secret or container to given users, and enable or disable project-wide access. Only the read operation exists on the CLI (barbicanclient/barbican_cli/v1/acls.py:49).
The URI decides the type: a path element secrets or containers is required, so a bare UUID is refused (barbicanclient/v1/acls.py:412) [observed]. A URI containing /acl anywhere is refused too (barbicanclient/v1/acls.py:373) [observed].
- get (
barbicanclient/barbican_cli/v1/acls.py:103):GET …/acl. - submit (
barbicanclient/barbican_cli/v1/acls.py:131): replaces the ACL:PUT …/acl, thenGET. Without--userit sends{"read": {"users": []}}, which clears the users [observed] (barbicanclient/v1/acls.py:295). - delete (
barbicanclient/barbican_cli/v1/acls.py:84):DELETE …/acl. - user add (
barbicanclient/barbican_cli/v1/acls.py:161) and user remove (barbicanclient/barbican_cli/v1/acls.py:212): read-modify-write:GET, change locally,PUT,GET[observed]. No lock, no generation: a concurrent change is lost [inferred].user adddoes not remove duplicates (barbicanclient/barbican_cli/v1/acls.py:199) [observed].user removeloses the order of users (barbicanclient/barbican_cli/v1/acls.py:254).
The column list has 6 entries for 6 values because the command copies columns from the parent onto each entry (barbicanclient/barbican_cli/v1/acls.py:78). ACLFormatter.columns alone has 5 (barbicanclient/v1/acls.py:34).
Certificate authorities (ca get|list)
ca get (barbicanclient/barbican_cli/v1/cas.py:22) and ca list (barbicanclient/barbican_cli/v1/cas.py:35) read /cas. ca list issues one more GET /cas/{id} per CA, since the list holds refs only (barbicanclient/v1/cas.py:239) [observed].
**Barbican stable/2026.2 has no such route** (barbican:barbican/api/controllers/versions.py:141), so both should end in a 404 there [inferred]. They are kept for older services.
3. Commands
"Exit" is that of the base run with synthetic arguments, against the stub answering 404, {}, and bodies shaped from the Barbican source. Requests cover all option variants in all modes. Machine-readable versions: cli-commands, client-contract.
| Command | Purpose | Class at | Output | Args (required) | Requests (stub, every option variant) | Exit on stub 404 / 200 / shape |
|---|---|---|---|---|---|---|
acl delete | Delete ACLs for a secret or container as identified by its href. | barbicanclient/barbican_cli/v1/acls.py:84 | none | 1 (1) | DELETE /secrets/{id}/acl; DELETE /containers/{id}/acl | 1 / 0 / 0 |
acl get | Retrieve ACLs for a secret or container by providing its href. | barbicanclient/barbican_cli/v1/acls.py:103 | list | 1 (1) | GET /secrets/{id}/acl; GET /containers/{id}/acl | 1 / 0 / 0 |
acl submit | Submit ACL on a secret or container as identified by its href. | barbicanclient/barbican_cli/v1/acls.py:131 | list | 5 (1) | PUT /secrets/{id}/acl; PUT /containers/{id}/acl; GET /secrets/{id}/acl; GET /containers/{id}/acl | 1 / 0 / 0 |
acl user add | Add ACL users to a secret or container as identified by its href. | barbicanclient/barbican_cli/v1/acls.py:161 | list | 5 (1) | GET /secrets/{id}/acl; PUT /secrets/{id}/acl | 1 / 0 / 0 |
acl user remove | Remove ACL users from a secret or container as identified by its href. | barbicanclient/barbican_cli/v1/acls.py:212 | list | 5 (1) | GET /secrets/{id}/acl; PUT /secrets/{id}/acl | 1 / 1 / 0 |
ca get | Retrieve a CA by providing its URI. | barbicanclient/barbican_cli/v1/cas.py:22 | single | 1 (1) | GET /cas/{id} | 1 / 0 / 0 |
ca list | List CAs. | barbicanclient/barbican_cli/v1/cas.py:35 | list | 3 (0) | GET /cas; GET /cas/{id} | 1 / 0 / 0 |
secret consumer create | Create a consumer for a secret. | barbicanclient/barbican_cli/v1/secrets.py:209 | none | 4 (4) | POST /secrets/{id}/consumers/ | 1 / 0 / 0 |
secret consumer delete | Delete a consumer from a secret. | barbicanclient/barbican_cli/v1/secrets.py:233 | none | 4 (4) | DELETE /secrets/{id}/consumers | 1 / 0 / 0 |
secret consumer list | List consumers of a secret. | barbicanclient/barbican_cli/v1/secrets.py:257 | list | 3 (1) | GET /secrets/{id}/consumers | 1 / 0 / 0 |
secret container create | Store a container in Barbican. | barbicanclient/barbican_cli/v1/containers.py:79 | single | 3 (0) | POST /containers/; GET /containers/{id} | 1 / 1 / 1 |
secret container delete | Delete a container by providing its href. | barbicanclient/barbican_cli/v1/containers.py:25 | none | 1 (1) | DELETE /containers/{id} | 1 / 0 / 0 |
secret container get | Retrieve a container by providing its URI. | barbicanclient/barbican_cli/v1/containers.py:37 | single | 1 (1) | GET /containers/{id} | 1 / 1 / 0 |
secret container list | List containers. | barbicanclient/barbican_cli/v1/containers.py:51 | list | 4 (0) | GET /containers | 1 / 0 / 0 |
secret delete | Delete a secret by providing its URI. | barbicanclient/barbican_cli/v1/secrets.py:25 | none | 2 (1) | DELETE /secrets/{id} | 1 / 0 / 0 |
secret get | Retrieve a secret by providing its URI. | barbicanclient/barbican_cli/v1/secrets.py:43 | single | 5 (1) | GET /secrets/{id}; GET /secrets/{id}/payload | 1 / 0 / 0 |
secret list | List secrets. | barbicanclient/barbican_cli/v1/secrets.py:111 | list | 7 (0) | GET /secrets | 1 / 0 / 0 |
secret order create | Create a new order. | barbicanclient/barbican_cli/v1/orders.py:21 | single | 7 (1) | POST /orders/ | 1 / 0 / 0 |
secret order delete | Delete an order by providing its href. | barbicanclient/barbican_cli/v1/orders.py:61 | none | 1 (1) | DELETE /orders/{id} | 1 / 0 / 0 |
secret order get | Retrieve an order by providing its URI. | barbicanclient/barbican_cli/v1/orders.py:73 | single | 1 (1) | GET /orders/{id} | 1 / 1 / 0 |
secret order list | List orders. | barbicanclient/barbican_cli/v1/orders.py:87 | list | 2 (0) | GET /orders | 1 / 0 / 0 |
secret store | Store a secret in Barbican. | barbicanclient/barbican_cli/v1/secrets.py:151 | single | 10 (0) | POST /secrets/; GET /secrets/{id} | 1 / 0 / 0 |
secret update | Update a secret with no payload in Barbican. | barbicanclient/barbican_cli/v1/secrets.py:96 | none | 2 (2) | PUT /secrets/{id} | 1 / 0 / 0 |
The base secret container create exits 1 in all modes because it has no --secret: the parser accepts that, and the command refuses it. Its 3 variants exit 0 in 200 and shape.
4. Python API behind the commands
| Object | Method | Used by a command | Source |
|---|---|---|---|
client.Client(version, session, endpoint, project_id, verify, service_type, service_name, interface, region_name, microversion) | factory | make_client, create_client | barbicanclient/client.py:150 |
SecretManager | get, create, update, delete, list, register_consumer, remove_consumer, list_consumers | yes | barbicanclient/v1/secrets.py:495 |
SecretManager | get_secret_metadata, set_secret_metadata, add_secret_metadata, delete_secret_metadata | no command | barbicanclient/v1/secrets.py:771 |
OrderManager | get, create, delete, list | yes | barbicanclient/v1/orders.py:313 |
OrderManager | create_key, create_asymmetric | no command; castellan uses them | barbicanclient/v1/orders.py:372, castellan:castellan/key_manager/barbican_key_manager.py:351 |
ContainerManager | get, delete, list, and direct construction of container classes | yes | barbicanclient/v1/containers.py:517 |
ContainerManager | create, create_rsa, create_certificate, register_consumer, remove_consumer | no command | barbicanclient/v1/containers.py:617, barbicanclient/v1/containers.py:731 |
CAManager | get, list | yes | barbicanclient/v1/cas.py:192 |
ACLManager | create, get | yes | barbicanclient/v1/acls.py:447 |
| all managers | total (GET <entity>?limit=0&offset=0, reads total) | no command | barbicanclient/base.py:70 |
barbicanclient.secrets and similar old import paths still work with a warning (barbicanclient/__init__.py:44).
CreateContainer bypasses the manager and instantiates container classes with client.containers._api, a private attribute (barbicanclient/barbican_cli/v1/containers.py:106).
5. Legacy barbican shell (separate process)
barbican (setup.cfg:30, barbicanclient/barbican.py:46) is a cliff application that loads the same openstack.key_manager.v1 group (barbicanclient/barbican.py:69) plus help and complete. It prints a deprecation warning saying it "will be removed in the O release" on each start (barbicanclient/barbican.py:382) [observed].
| Mode | Options | Behaviour | Source |
|---|---|---|---|
| no auth | --no-auth, --endpoint, --os-project-id or --os-tenant-id | no token, X-Project-Id header. --os-auth-url is refused with it | barbicanclient/barbican.py:171, barbicanclient/barbican.py:177 |
| token | --os-auth-token, --os-auth-url, project options | identity.Token | barbicanclient/barbican.py:190 |
| password | --os-auth-url, user and project options | identity.Password | barbicanclient/barbican.py:207 |
| none of these | ERROR: please specify authentication credentials, exit 1 [observed] | barbicanclient/barbican.py:223 | |
| no argument | usage on stderr, exit 1 [observed] | barbicanclient/barbican.py:354 |
Other differences with the plugin: it has no clouds.yaml, reads BARBICAN_* variables (barbicanclient/barbican.py:309), and accepts --barbican-api-version, where any value but v1 gives Invalid client version v2; must be one of: v1 [observed]. help and complete need no authentication (barbicanclient/barbican.py:63). Its defects are in 02 § 4. doc/source/cli/details.rst:26 still documents version 4.3.0.
6. Arguments of each command
The options of cliff formatters are left out. Full data is in cli-commands.
**acl delete**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the secret or container. |
**acl get**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the secret or container. |
**acl submit**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the secret or container. | ||
--user, -u | no | Keystone userid(s) for ACL. | ||
--project-access | no | Flag to enable project access behavior. | ||
--no-project-access | no | True | Flag to disable project access behavior. | |
--operation-type, -o | no | read | read | Type of Barbican operation ACL is set for |
**acl user add**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the secret or container. | ||
--user, -u | no | Keystone userid(s) for ACL. | ||
--project-access | no | Flag to enable project access behavior. | ||
--no-project-access | no | True | Flag to disable project access behavior. | |
--operation-type, -o | no | read | read | Type of Barbican operation ACL is set for |
**acl user remove**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the secret or container. | ||
--user, -u | no | Keystone userid(s) for ACL. | ||
--project-access | no | Flag to enable project access behavior. | ||
--no-project-access | no | True | Flag to disable project access behavior. | |
--operation-type, -o | no | read | read | Type of Barbican operation ACL is set for |
**ca get**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the CA. |
**ca list**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
--limit, -l | no | 10 | specify the limit to the number of items to list per page (default: %(default)s; maximum: 100) | |
--offset, -o | no | specify the page offset (default: %(default)s) | ||
--name, -n | no | specify the ca name (default: %(default)s) |
**secret consumer create**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the secret | ||
--service-type-name, -s | yes | the service that will consume the secret | ||
--resource-type, -t | yes | the type of resource that will consume the secret | ||
--resource-id, -i | yes | the id of the resource that will consume the secret |
**secret consumer delete**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the secret | ||
--service-type-name, -s | yes | the service that is consuming the secret | ||
--resource-type, -t | yes | the type of resource that is consuming the secret | ||
--resource-id, -i | yes | the id of the resource that is consuming the secret |
**secret consumer list**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the secret | ||
--limit, -l | no | 10 | specify the limit to the number of items to list per page (default: %(default)s; maximum: 100) | |
--offset, -o | no | specify the page offset (default: %(default)s) |
**secret container create**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
--name, -n | no | a human-friendly name. | ||
--type | no | generic | type of container to create (default: %(default)s). | |
--secret, -s | no | one secret to store in a container (can be set multiple times). Example: --secret "private_key=https://url.test/v1/secrets/1-2-3-4" |
**secret container delete**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the container |
**secret container get**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the container. |
**secret container list**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
--limit, -l | no | 10 | specify the limit to the number of items to list per page (default: %(default)s; maximum: 100) | |
--offset, -o | no | specify the page offset (default: %(default)s) | ||
--name, -n | no | specify the container name (default: %(default)s) | ||
--type, -t | no | specify the type filter for the list (default: %(default)s). |
**secret delete**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the secret | ||
--force, -f | no | if specified, forces the deletion of secrets that have consumers. |
**secret get**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the secret. | ||
--decrypt, -d | no | if specified, retrieve the unencrypted secret data. | ||
--payload, -p | no | if specified, retrieve the unencrypted secret data. | ||
--file, -F | no | if specified, save the payload to a new file with the given filename. | ||
--payload_content_type, -t | no | text/plain | the content type of the decrypted secret (default: %(default)s). |
**secret list**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
--limit, -l | no | 10 | specify the limit to the number of items to list per page (default: %(default)s; maximum: 100) | |
--offset, -o | no | specify the page offset (default: %(default)s) | ||
--name, -n | no | specify the secret name (default: %(default)s) | ||
--algorithm, -a | no | the algorithm filter for the list(default: %(default)s). | ||
--bit-length, -b | no | the bit length filter for the list (default: %(default)s). | ||
--mode, -m | no | the algorithm mode filter for the list (default: %(default)s). | ||
--secret-type, -s | no | specify the secret type (default: %(default)s). |
**secret order create**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
type | yes | key, asymmetric | the type of the order to create. | |
--name, -n | no | a human-friendly name. | ||
--algorithm, -a | no | aes | the algorithm to be used with the requested key (default: %(default)s). | |
--bit-length, -b | no | 256 | the bit length of the requested secret key (default: %(default)s). | |
--mode, -m | no | cbc | the algorithm mode to be used with the requested key (default: %(default)s). | |
--payload-content-type, -t | no | application/octet-stream | the type/format of the secret to be generated (default: %(default)s). | |
--expiration, -x | no | the expiration time for the secret in ISO 8601 format. |
**secret order delete**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the order |
**secret order get**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference order. |
**secret order list**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
--limit, -l | no | 10 | specify the limit to the number of items to list per page (default: %(default)s; maximum: 100) | |
--offset, -o | no | specify the page offset (default: %(default)s) |
**secret store**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
--name, -n | no | a human-friendly name. | ||
--secret-type, -s | no | opaque | the secret type; must be one of symmetric, public, private, certificate, passphrase, opaque (default) | |
--payload-content-type, -t | no | the type/format of the provided secret data; "text/plain" is assumed to be UTF-8; required when --payload is supplied. | ||
--payload-content-encoding, -e | no | required if --payload-content-type is "application/octet-stream". | ||
--algorithm, -a | no | aes | the algorithm (default: %(default)s). | |
--bit-length, -b | no | 256 | the bit length (default: %(default)s). | |
--mode, -m | no | cbc | the algorithm mode; used only for reference (default: %(default)s) | |
--expiration, -x | no | the expiration time for the secret in ISO 8601 format. | ||
--payload, -p | no | the unencrypted secret data. | ||
--file, -F | no | file containing the secret payload |
**secret update**
| Argument | Required | Default | Choices | Help |
|---|---|---|---|---|
URI | yes | The URI reference for the secret. | ||
payload | yes | the unencrypted secret |
Source: reverse-spec-python-barbicanclient/01-cli-commands_stable-2026.2.md. The _rewrite/ and _inventory/ files are not published on the site.