Documentation Index
Fetch the complete documentation index at: https://docs.provisionr.io/llms.txt
Use this file to discover all available pages before exploring further.
Overview
| Command | Purpose |
|---|
prv | See a summary of all namespaces, resources, and actions. |
prv setup | Initial setup wizard for your workspace |
prv list | See a comprehensive list of commands you can run. |
prv wizard | Easily navigate commands with a UI menu experience. |
prv {namespace}-{resource}:{action} | Run a command. You will be prompted for any option/parameters you do not provide. |
prv {namespace}-{resource}:{action} --help | Show all options for a command. This is similar to a manpage. |
prv {namespace}-{resource}:{action} --{option}={value} | Use -- for each option/parameter that you want to provide. |
prv {namespace}-{resource}:{action} -{x}={value} | Use - for each shorthand option/parameter that you want to provide. |
prv {namespace}-{resource}:{action} --id {idprefix}_01hq8xyzabc123def456ghi789 | Get a record by ID using option. |
prv {namespace}-{resource}:{action} -i {idprefix}_01hq8xyzabc123def456ghi789 | Get a record by ID using shorthand option. |
prv {abbrev}:{action} | Run a command using the abbreviated resource name. Options work the same way. You will be prompted for any option/parameters you do not provide. |
Summary of Commands
Run the prv command to see a summary of commands.
If you don’t want to use or remember commands, you can use prv wizard for an arrow navigation menu experience.
Resource Actions
| Action | Command Syntax | Shorthand/Alternative Syntax |
|---|
| Dashboard | prv {resource}:dashboard | N/A |
| List of Records | prv {resource}:list | :ls |
| Details of Specific Record | prv {resource}:describe | :info |
| Create a Record | prv {resource}:create | :new |
| Activate a Staged (or Expiring) Record | prv {resource}:activate | :enable |
| Change a Record | prv {resource}:update | :edit |
| Schedule Expiration for Record | prv {resource}:deprecate | :expire |
| Deactivate/Delete a Record | prv {resource}:deactivate | :disable |
| Export Records to File | prv {resource}:export | N/A |
Resource Commands
| Resource | Command Syntax | Shorthand Syntax |
|---|
| Directory Attribute | prv directory-attribute:{action} | prv dratr:{action} |
| Directory Dimension | prv directory-dimension:{action} | prv drdim:{action} |
| Directory Identity | prv directory-identity:{action} | prv dridt:{action} |
| Directory Manager | prv directory-manager:{action} | prv drmgr:{action} |
| Directory User | prv directory-user:{action} | prv drusr:{action} |
| GitLab Group | prv gitlab-group:{action} | prv glgrp:{action} |
| GitLab Project | prv gitlab-project:{action} | prv glprj:{action} |
| Google Cloud Billing | prv google-cloud-billing:{action} | prv gcbil:{action} |
| Google Cloud Folder | prv google-cloud-folder:{action} | prv gcfol:{action} |
| Google Cloud Organization | prv google-cloud-org:{action} | prv gcorg:{action} |
| Google Cloud Project | prv google-cloud-project:{action} | prv gcprj:{action} |
| Google Workspace Shared Drive | prv google-workspace-drive:{action} | prv gwdrv:{action} |
| Google Drive Document | prv google-drive-doc:{action} | prv gddoc:{action} |
| Google Drive Uploaded File | prv google-drive-file:{action} | prv gdfil:{action} |
| Google Drive Folder | prv google-drive-folder:{action} | prv gdfol:{action} |
| Google Drive Slide Deck | prv google-drive-slidedeck:{action} | prv gdslir:{action} |
| Google Drive Spreadsheet | prv google-drive-spreadsheet:{action} | prv gdsht:{action} |
| Google Cloud Identity Group | prv google-identity-group:{action} | prv gigrp:{action} |
| Google Workspace Group | prv google-workspace-group:{action} | prv gwgrp:{action} |
| Google Workspace Org Unit | prv google-workspace-org-unit:{action} | prv gworg:{action} |
| Okta Group | prv okta-group:{action} | prv okgrp:{action} |
| Policy Condition | prv policy-condition:{action} | prv pocon:{action} |
| Policy Rule | prv policy-rule:{action} | prv porul:{action} |
| Policy Ruleset | prv policy-ruleset:{action} | prv poset:{action} |
| Policy User | prv policy-user:{action} | prv pousr:{action} |
| Slack Group | prv slack-group:{action} | prv slgrp:{action} |
| Slack Private Channel | prv slack-private-channel:{action} | prv slprv:{action} |
| Slack Public Channel | prv slack-public-channel:{action} | prv slpub:{action} |
| Workspace Abbreviation | prv workspace-abbreviation:{action} | prv wsabv:{action} |
| Workspace Device | prv workspace-device:{action} | prv wsdev:{action} |
| Workspace Integration | prv workspace-integration:{action} | prv wsitg:{action} |
| Workspace Permission | prv workspace-permission:{action} | prv wsprm:{action} |
| Workspace Role Permission | prv workspace-role-permission:{action} | prv wsrap:{action} |
| Workspace Role Service | prv workspace-role-service:{action} | prv wsras:{action} |
| Workspace Role User | prv workspace-role-user:{action} | prv wsrau:{action} |
| Workspace Role | prv workspace-role:{action} | prv wsrol:{action} |
| Workspace Service | prv workspace-service:{action} | prv wssvc:{action} |
| Workspace Tenant (HQ) | prv workspace-tenant:{action} | prv hqwks:{action} |
| Workspace User | prv workspace-user:{action} | prv wsusr:{action} |
Interactive Prompts
With most industry CLI clients, you have to pass the argument or option with the CLI command.
With Provisionr, we check for any options you’ve already provided, then prompt you for anything else you have not specified.
This allows you to simply run the command without any options. You do not need to take a few moments to study the available options.
As an added benefit, most options are presented as a searchable select menu to reduce the number of keystrokes needed, or the multiple terminal sessions to lookup records and copy IDs, etc.
You can navigate menus using the arrows keys on your keyboard and press ENTER/RETURN to make a selection.
Some menus support undo functionality and you can press Ctrl+U to go back and change your selection.
To exit a menu at any time, press Ctrl+C.
Command Options
Help Command
Use the --help option on any command to see details about it’s usage.
prv directory-dimension:create --help
Description:
Create a Custom Directory Dimension
Usage:
directory-dimension:create [options]
directory-dimension:new
drdim:create
drdim:new
Options:
--name[=NAME] The name of the dimension. This will be used to create the handle
--handle[=HANDLE] The handle of the dimension. The name will be used to create the handle if not set
-e, --expires_after_days[=EXPIRES_AFTER_DAYS] The number of days that attributes and associated users will expire after deprecated
-A, --activate Set status to active. If not set, record will be staged.
-h, --help Display help for the given command. When no command is given display help for the summary command
--silent Do not output any message
-q, --quiet Only errors are displayed. All other output is suppressed
-V, --version Display this application version
--ansi|--no-ansi Force (or disable --no-ansi) ANSI output
-n, --no-interaction Do not ask any interactive question
--env[=ENV] The environment the command should run under
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Equals vs Spaces
The --help command and documentation shows an equal sign between an option and the value (ex. --option=value). You can also use a space instead of the equal sign (--option value).
# Both formats are allowed
# prv directory-dimension:create --{option} {value}
prv directory-dimension:create --name Team
# prv directory-dimension:create --{option}={value}
prv directory-dimension:create --name=Team
Quote Wrapped Strings
Any strings with a space must be wrapped in double quotes. Single quotes or backticks may work depending on your OS but are not tested or supported.
# Both formats are allowed
prv directory-dimension:create --name "Sales Region"
prv directory-dimension:create --name="Sales Region"
# Without quotes, the Region is a separate command argument and not part of the string
prv directory-dimension:create --name Sales Region
prv directory-dimension:create --name=Sales Region
Multiple Options
You can pass multiple options by separating them with a space. Keep in mind that any strings with a space should be wrapped in quotes. You can mix and match whether to use an equal or a space between the key and value.
prv directory-dimension:create --name "Sales Region" --handle=sales-rg
Table Tips
The :list commands support advanced filtering using exact and partial (fuzzy search).
You can apply filters using the interactive menus below the list of results or by adding options when running the command.
Exact vs Partial Matches
Most database columns are encrypted and do not allow partial string searching. Provisionr has functionality in some places that allow us to fetch the contents, decrypt them, then perform partial searches.
Throughout the API and CLI, the search keyword is used to indicate that partial matches are supported. If search is not included, assume that only exact matches will appear in your results.
Date Filters
Any date or datetime filter should be in the format of YYYY-MM-DD or YYYY-MM-DD HH:MM:SS. Some other formats may work, however they are not tested or supported. Try to avoid using month and date first when using dates since it may be interpreted as DD-MM-YYYY or MM-DD-YYYY.
All times shown are in the UTC timezone.
When a datetime is shown in a table or describe method, it may be color coded based on how recent the timestamp is relative to now. Any difference less than 24 hours is green. Any difference less than 7 days is cyan blue.
Customizing Table Columns
The API response for a record includes more fields than we can display in a Terminal window. We have selected opinionated defaults of which columns are most relevant.
You can customize the columns displayed in your terminal. All settings are saved locally on your machine and only impact you.
When running a :list command, you will usually see a Customize Table Columns option in the menu after the list of results.
You can also run the settings-customize to make changes to any type of record.
To reset back to the default settings, for one type of record or all settings globally, run the settings-reset command.
Raw Output for Scripts
Our interactive prompts are designed for a pleasant UX. If you are using scripts that rely solely on outputs of a command, use the --json flag on any command to get the raw output that will allow you to parse it with jq, awk, grep, and similar tools.
prv directory-user:list --json
Shorthand Commands
You can see a quick reference for all shorthand commands when running the prv command without any resources specified.
We have aliases for most commands to accommodate the muscle memory of system administrators that are used to different syntax or just prefer shorter commands.
| Action | Familiar Shorthand |
|---|
list | ls |
create | new |
describe | info |
update | edit |
activate | enable |
deactivate | disable |
deprecate | expire |
# {namespace}-{resource}:{action}
prv directory-attribute:create
# {abbrev}:{action}
prv dratr:create
# {namespace}-{resource}:{familiar}
prv directory-attribute:new
# {abbrev}:{familiar}
prv dratr:new
If you have additional muscle memory commands, you can add as many aliases to your Bash or ZSH profile as you’d like.
echo "alias porul:make='porul:create'" >> ~/.zshrc
source ~/.zshrc
Shorthand Options
All options use a double hyphen prefix (ex. --name).
Some options have shorthand variations that you can see when running --help for a command. We have standardized the alphabet for shorthand to maintain consistency. As a result, not all options have a shorthand letter if a suitable letter was not available.
| Lowercase Shorthand Option | Standardized Use Case |
|---|
-a | --attribute_id |
-A | --activate |
-b | Not in Use |
-B | Not in Use |
-c | --condition |
-C | --column |
-d | --dimension_id or --description |
-D | --deleted |
-e | --email or --expires_after_days |
-E | --inherit_expiration |
-f | --format |
-F | --force |
-g | Not in Use |
-G | Not in Use |
-h | --help |
-H | --hide |
-i | --id |
-I | Not in Use |
-j | Not in Use |
-J | Not in Use |
-k | --attribute_key or --key |
-K | Not in Use |
-l | Not in Use |
-L | Not in Use |
-m | --manager_id |
-M | Not in Use |
-n | --no-interaction |
-N | Not in Use |
-o | Not in Use |
-O | Not in Use |
-p | --policy_ruleset_id or --predecessor_id |
-P | --no_predecessor |
-q | --quiet |
-Q | Not in Use |
-r | --workspace_role_id or --policy_rule_id |
-R | Not in Use |
-s | --search |
-S | --state |
-t | --resource_type or --type |
-T | Not in Use |
-u | --directory_user_id or --workspace_user_id |
-U | Not in Use |
-v | --verbose |
-V | --version |
-w | Not in Use |
-W | Not in Use |
-x | Not in Use |
-X | Not in Use |
-y | Not in Use |
-Y | Not in Use |
-z | Not in Use |
-Z | Not in Use |