This reference documents all available AWX CLI resources, their actions, and common arguments. The exact list of resources and actions may vary based on your AWX version and permissions.
Command Discovery
The AWX CLI is self-documenting. Resources and actions are discovered dynamically from the AWX API using HTTP OPTIONS requests.
List All Resources
awx --conf.host https://awx.example.org --help
Get Resource Details
Get Action Details
awx <resource> <action> --help
Standard Actions
Most resources support these standard CRUD actions:
list
List all resources of the specified type.
awx <resource> list [options]
Common Options:
--all - Fetch all pages (default: first page only)
--order_by FIELD - Sort by field (prefix with - for descending)
-f, --conf.format - Output format (json, yaml, human, jq)
--filter - Field filter for output
Examples:
awx users list
awx users list --all
awx users list --order_by username
awx users list -f human --filter 'id,username,email'
get
Retrieve a specific resource by ID or name.
awx <resource> get <id|name> [options]
Arguments:
id - Resource ID (integer) or unique name (string)
Examples:
awx users get 1
awx users get alice
awx projects get 'My Project'
create
Create a new resource.
awx <resource> create [required-args] [optional-args]
Common Patterns:
- Required fields are shown in “required arguments” section
- Use
--help to see all available fields
- JSON/YAML fields accept
@filename for file input
Examples:
awx users create --username bob --password secret --email [email protected]
awx projects create --name 'My Project' --organization 1 --scm_type git --scm_url 'https://github.com/example/repo.git'
modify
Update an existing resource.
awx <resource> modify <id|name> [fields-to-update]
Examples:
awx users modify alice --email [email protected]
awx projects modify 'My Project' --scm_branch main
delete
Delete a resource.
awx <resource> delete <id|name>
Examples:
awx users delete bob
awx projects delete 42
Common Resources
users
Manage AWX users.
Actions: list, get, create, modify, delete, grant, revoke
Create Example:
awx users create \
--username alice \
--password secret123 \
--email [email protected] \
--first_name Alice \
--last_name Smith \
--is_superuser false
Grant Role:
awx users grant alice --organization 1 --role admin
awx users grant alice --project 'My Project' --role use
organizations
Manage organizations.
Actions: list, get, create, modify, delete, associate, disassociate
Create Example:
awx organizations create \
--name 'Engineering' \
--description 'Engineering team resources'
Associate Galaxy Credential:
awx organizations associate 'Engineering' --galaxy_credential 'Ansible Galaxy'
projects
Manage projects (SCM repositories).
Actions: list, get, create, modify, delete, update, associate, disassociate
Create Example:
awx projects create \
--name 'Web Application' \
--organization 'Engineering' \
--scm_type git \
--scm_url 'https://github.com/example/webapp.git' \
--scm_branch main \
--scm_update_on_launch true
Update Project (SCM sync):
awx projects update 'Web Application'
awx projects update 'Web Application' --monitor
inventories
Manage inventories.
Actions: list, get, create, modify, delete
Create Example:
awx inventories create \
--name 'Production' \
--organization 'Engineering' \
--description 'Production servers'
hosts
Manage inventory hosts.
Actions: list, get, create, modify, delete
Create Example:
awx hosts create \
--name 'web1.example.com' \
--inventory 'Production' \
--variables '{"ansible_host": "10.0.1.10"}'
groups
Manage inventory groups.
Actions: list, get, create, modify, delete
Create Example:
awx groups create \
--name 'webservers' \
--inventory 'Production' \
--variables '{"http_port": 8080}'
inventory_sources
Manage dynamic inventory sources.
Actions: list, get, create, modify, delete, update
Create Example:
awx inventory_sources create \
--name 'AWS EC2' \
--inventory 'Production' \
--source 'ec2' \
--credential 'AWS Credential' \
--update_on_launch true
Update Inventory:
awx inventory_sources update 'AWS EC2' --monitor
credentials
Manage credentials.
Actions: list, get, create, modify, delete
Machine Credential Example:
awx credentials create \
--name 'SSH Key' \
--credential_type 'Machine' \
--organization 'Engineering' \
--inputs '{"username": "ansible", "ssh_key_data": "@~/.ssh/id_rsa"}'
Source Control Credential Example:
awx credentials create \
--name 'GitHub Token' \
--credential_type 'Source Control' \
--organization 'Engineering' \
--inputs '{"username": "oauth2", "password": "ghp_xxxxxxxxxxxx"}'
credential_types
Manage custom credential types.
Actions: list, get, create, modify, delete
Example:
awx credential_types create \
--name 'API Token' \
--kind 'cloud' \
--inputs '{"fields": [{"id": "api_token", "label": "API Token", "type": "string", "secret": true}]}' \
--injectors '{"env": {"API_TOKEN": "{{ api_token }}"}}'
job_templates
Manage job templates.
Actions: list, get, create, modify, delete, launch, associate, disassociate
Create Example:
awx job_templates create \
--name 'Deploy Application' \
--job_type run \
--inventory 'Production' \
--project 'Web Application' \
--playbook 'deploy.yml' \
--verbosity 0
Launch:
awx job_templates launch 'Deploy Application'
awx job_templates launch 'Deploy Application' --monitor
awx job_templates launch 'Deploy Application' --extra_vars '{"version": "1.2.3"}'
Associate Credential:
awx job_templates associate 'Deploy Application' --credential 'SSH Key'
workflow_job_templates
Manage workflow job templates.
Actions: list, get, create, modify, delete, launch, associate, disassociate
Create Example:
awx workflow_job_templates create \
--name 'Deploy Pipeline' \
--organization 'Engineering' \
--inventory 'Production'
Launch:
awx workflow_job_templates launch 'Deploy Pipeline' --monitor
jobs
View and manage job executions.
Actions: list, get, delete, stdout, monitor
List Recent Jobs:
awx jobs list --all --order_by '-created' -f human
Get Job Output:
Monitor Running Job:
Cancel Job:
workflow_jobs
View and manage workflow job executions.
Actions: list, get, delete, monitor
Monitor Workflow:
awx workflow_jobs monitor 456
ad_hoc_commands
Execute ad hoc commands.
Actions: list, get, create, stdout
Run Ad Hoc Command:
awx ad_hoc_commands create \
--inventory 'Production' \
--credential 'SSH Key' \
--module_name ping \
--limit 'webservers'
awx ad_hoc_commands create \
--inventory 'Production' \
--credential 'SSH Key' \
--module_name command \
--module_args 'uptime' \
--limit 'all' \
--monitor
teams
Manage teams.
Actions: list, get, create, modify, delete, grant, revoke
Create Example:
awx teams create \
--name 'DevOps' \
--organization 'Engineering' \
--description 'DevOps team'
Grant Role:
awx teams grant 'DevOps' --project 'Web Application' --role admin
schedules
Manage scheduled jobs.
Actions: list, get, create, modify, delete
Create Example:
awx schedules create \
--name 'Nightly Backup' \
--unified_job_template 42 \
--rrule 'DTSTART:20260301T020000Z RRULE:FREQ=DAILY;INTERVAL=1' \
--enabled true
notification_templates
Manage notification templates.
Actions: list, get, create, modify, delete
Email Notification Example:
awx notification_templates create \
--name 'Email Alerts' \
--notification_type email \
--organization 'Engineering' \
--notification_configuration '{"host": "smtp.example.com", "recipients": ["[email protected]"], "sender": "[email protected]"}'
Slack Notification Example:
awx notification_templates create \
--name 'Slack Alerts' \
--notification_type slack \
--organization 'Engineering' \
--notification_configuration '{"token": "xoxb-xxxx", "channels": ["#alerts"]}'
instances
View AWX instances (Tower/Controller nodes).
Actions: list, get
List Instances:
awx instances list -f human --filter 'id,hostname,capacity,version'
instance_groups
Manage instance groups.
Actions: list, get, create, modify, delete
Create Example:
awx instance_groups create \
--name 'High Priority' \
--policy_instance_percentage 100
execution_environments
Manage execution environments.
Actions: list, get, create, modify, delete
Create Example:
awx execution_environments create \
--name 'Custom EE' \
--image 'quay.io/ansible/awx-ee:latest' \
--organization 'Engineering' \
--credential 'Container Registry'
labels
Manage labels.
Actions: list, get, create, modify, delete
Create Example:
awx labels create \
--name 'production' \
--organization 'Engineering'
roles
View available roles.
Actions: list, get
List Roles:
applications
Manage OAuth2 applications.
Actions: list, get, create, modify, delete
Create Example:
awx applications create \
--name 'CI/CD Integration' \
--organization 'Engineering' \
--authorization_grant_type 'password' \
--client_type 'confidential'
Special Actions
launch
Available for: job_templates, workflow_job_templates
Launch a job or workflow.
Options:
--monitor - Stream job output
--wait - Wait for completion without output
--action-timeout SECONDS - Timeout for monitoring
--interval SECONDS - Polling interval (min 2.5s)
--extra_vars JSON - Runtime variables
--limit HOST_PATTERN - Limit to hosts
--job_tags TAGS - Run specific tags
--skip_tags TAGS - Skip specific tags
update
Available for: projects, inventory_sources
Trigger an SCM update or inventory sync.
Options:
--monitor - Show update progress
--wait - Wait for completion
monitor
Available for: jobs, workflow_jobs
Monitor a running or completed job.
stdout
Available for: jobs, ad_hoc_commands, project_updates, inventory_updates
Retrieve job output.
grant / revoke
Available for: users, teams
Grant or revoke role-based access.
Options:
--organization ID|NAME
--project ID|NAME
--inventory ID|NAME
--job_template ID|NAME
--workflow_job_template ID|NAME
--credential ID|NAME
--role ROLE_NAME (required)
Available Roles:
- admin
- execute
- read
- use
- update
- adhoc
- member
- auditor
associate / disassociate
Available for: job_templates, workflow_job_templates, organizations, projects, inventory_sources
Associate or disassociate related resources.
Examples:
# Associate credential
awx job_templates associate 'Deploy' --credential 'SSH Key'
# Associate notification
awx job_templates associate 'Deploy' --success_notification 'Slack'
awx job_templates associate 'Deploy' --failure_notification 'Email'
# Disassociate
awx job_templates disassociate 'Deploy' --credential 'SSH Key'
Bulk Operations
bulk
Perform bulk operations.
Actions: host_create, host_delete, job_launch
Bulk Host Create:
awx bulk host_create \
--inventory 'Production' \
--hosts '[{"name": "web1"}, {"name": "web2"}, {"name": "web3"}]'
Bulk Host Delete:
awx bulk host_delete \
--hosts '[{"name": "web1"}, {"name": "web2"}]'
Bulk Job Launch:
awx bulk job_launch \
--jobs '[{"unified_job_template": 1}, {"unified_job_template": 2}]' \
--monitor
Control Resources
These resources provide metadata and don’t follow standard CRUD patterns.
config
Display current CLI configuration.
ping
Test API connectivity.
View current user details.
metrics
View system metrics (if enabled).
awx metrics list
awx metrics list -f human
mesh_visualizer
View mesh topology (AWX with mesh enabled).
settings
View and modify system settings.
List All Settings:
List Settings Category:
awx settings list --slug authentication
awx settings list --slug jobs
awx settings list --slug system
Modify Setting:
awx settings modify SESSION_COOKIE_AGE 3600
awx settings modify TOWER_URL_BASE 'https://awx.example.org'
Import/Export Commands
export
Export resources.
Syntax:
awx export [--resource [id|name] ...] [-f json|yaml]
Examples:
# Export everything
awx export > backup.json
# Export specific types
awx export --users --organizations --teams > rbac.json
# Export by name
awx export --users alice --projects 'My Project' > config.json
# Export by ID
awx export --job_templates 42 > template.json
# Export in YAML
awx export -f yaml > backup.yml
Exportable Resources:
- users
- organizations
- teams
- credentials
- credential_types
- notification_templates
- projects
- inventories
- inventory_sources
- job_templates
- workflow_job_templates
- schedules
- labels
import
Import resources.
Syntax:
awx import [-f json|yaml] < input_file
Examples:
# Import from JSON
awx import < backup.json
# Import from YAML
awx import -f yaml < backup.yml
Tips for Working with Commands
Finding Field Names
Use --help to discover available fields:
Or use verbose mode to see API schema:
awx -v users list | grep -A 50 OPTIONS
Using IDs vs Names
Most resources accept either ID or unique name:
# By ID (faster, but less readable)
awx projects get 42
# By name (more readable)
awx projects get 'My Project'
When creating resources with foreign keys:
# Reference by ID
awx job_templates create --project 42 --inventory 10 ...
# Reference by name (CLI resolves to ID)
awx job_templates create --project 'My Project' --inventory 'Production' ...
Handling Ambiguous Names
If multiple resources have the same name:
# Error: Multiple projects exist with that name
# Resolution: Use ID or query to find correct one
awx projects list --name 'My Project' -f human
awx projects get 42
Job templates and workflow templates support extra variables:
# Inline JSON
awx job_templates launch 1 --extra_vars '{"version": "1.2.3"}'
# Short form
awx job_templates launch 1 -e '{"version": "1.2.3"}'
# From file
awx job_templates launch 1 --extra_vars @vars.json
awx job_templates launch 1 --extra_vars @vars.yml
Working with Variables
Inventories, groups, and hosts support variables:
# Inline JSON
awx hosts create --inventory 1 --name web1 \
--variables '{"ansible_host": "10.0.1.10", "http_port": 8080}'
# From file
awx hosts create --inventory 1 --name web1 --variables @host_vars.yml
Deprecated Resource Names
The CLI supports backward-compatible aliases for resources (for tower-cli compatibility):
| Current Name | Deprecated Alias |
|---|
| ad_hoc_commands | ad_hoc |
| applications | application |
| credentials | credential |
| credential_types | credential_type |
| groups | group |
| hosts | host |
| inventories | inventory (note: plural is current) |
| inventory_sources | inventory_source |
| inventory_updates | inventory_update |
| jobs | job |
| job_templates | job_template |
| execution_environments | execution_environment |
| labels | label |
| workflow_job_template_nodes | node |
| notification_templates | notification_template |
| organizations | organization |
| projects | project |
| project_updates | project_update |
| schedules | schedule |
| settings | setting |
| teams | team |
| workflow_job_templates | workflow |
| workflow_jobs | workflow_job |
| users | user |
Deprecated aliases are provided for compatibility only. Use the current resource names in new scripts and documentation.