Scoped API surface for role 'ops'. Resources: 30. Actions: 654.
Show firewall configuration on the VyOS router.
Show NAT translations on the VyOS router.
ssh vyos@172.20.1.1 'show nat translations'
Show DHCP server leases on the VyOS router.
ssh vyos@172.20.1.1 'show dhcp server leases'
Show the current configuration on the VyOS router.
ssh vyos@172.20.1.1 'show configuration'
Show the version of VyOS running on the router.
Show the last 50 lines of the system log on the VyOS router.
Show the differences between the current and candidate configurations on the VyOS router.
Commit the candidate configuration on the VyOS router.
ssh vyos@172.20.1.1 'source /opt/vyatta/etc/functions/script-template; commit'
Save the current configuration on the VyOS router.
ssh vyos@172.20.1.1 'source /opt/vyatta/etc/functions/script-template; save'
Show interface counters on the VyOS router.
ssh vyos@172.20.1.1 'show interfaces counters'
ssh root@172.20.1.10 'pveversion && pvesh get /nodes/localhost/status'
ssh root@172.20.1.20 'pveversion && pvesh get /nodes/localhost/status'
ssh root@172.20.1.30 'pveversion && pvesh get /nodes/localhost/status'
Get VM power state, CPU, memory, and guest IP
govc vm.power -off -s /DC1/vm/web-server
govc vm.power -suspend /DC1/vm/web-server
govc snapshot.tree -vm /DC1/vm/web-server
govc host.info /DC1/host/esxi1.dc.example.com
Establish PowerCLI session to vCenter server
Connect-VIServer -Server vcenter.dc.example.com -User administrator@vsphere.local -Password changeme
Shutdown-VMGuest -VM web-server -Confirm:$false
Restart-VMGuest -VM web-server -Confirm:$false
Suspend-VM -VM web-server -Confirm:$false
Get-VMHost -Name esxi1.dc.example.com | Format-List
Get-Cluster -Name cluster1 | Format-List
Get-Datastore -Name datastore1 | Format-List
ssh root@172.20.1.5 'pveversion && pvesh get /nodes/localhost/status'
curl -s -H 'X-API-Key: changeme' http://172.20.1.211:8081/api/v1/servers/localhost/zones
curl -s -H 'X-API-Key: changeme' http://172.20.1.211:8081/api/v1/servers/localhost/zones/dc.example.com
curl -s -X DELETE -H 'X-API-Key: changeme' http://172.20.1.211:8081/api/v1/servers/localhost/zones/dc.example.com
curl -s -H 'X-API-Key: changeme' http://172.20.1.211:8081/api/v1/servers/localhost/config
curl -s -H 'X-API-Key: changeme' http://172.20.1.211:8081/api/v1/servers/localhost/statistics
List compute resources (VMware, Proxmox, etc.)
ssh pve-node1 'pct exec 611 -- journalctl -n 100'
Force stop LXC container (immediate, no graceful shutdown)
Permanently destroy LXC container and its data
curl -s -H 'Authorization: Bearer cf-token-placeholder' https://api.cloudflare.com/client/v4/zones
curl -s -H 'Authorization: Bearer cf-token-placeholder' https://api.cloudflare.com/client/v4/zones/cf-zone-placeholder/dns_records
curl -s -X POST -H 'Authorization: Bearer cf-token-placeholder' -H 'Content-Type: application/json' -d '{"purge_everything":true}' https://api.cloudflare.com/client/v4/zones/cf-zone-placeholder/purge_cache
curl -s -H 'Authorization: Bearer cf-token-placeholder' https://api.cloudflare.com/client/v4/zones/cf-zone-placeholder/firewall/rules
curl -s -H 'Authorization: Bearer cf-token-placeholder' https://api.cloudflare.com/client/v4/zones/cf-zone-placeholder/settings/ssl
curl -s -H 'Authorization: Bearer cf-token-placeholder' https://api.cloudflare.com/client/v4/zones/cf-zone-placeholder/analytics/dashboard
curl -s -H 'Authorization: Token netbox-token-placeholder' https://netbox.dc.example.com/api/api/dcim/devices/
curl -s -H 'Authorization: Token netbox-token-placeholder' https://netbox.dc.example.com/api/api/dcim/racks/
List physical sites (buildings, campuses)
curl -s -H 'Authorization: Token netbox-token-placeholder' https://netbox.dc.example.com/api/api/dcim/sites/
curl -s -H 'Authorization: Token netbox-token-placeholder' https://netbox.dc.example.com/api/api/ipam/prefixes/
curl -s -H 'Authorization: Token netbox-token-placeholder' https://netbox.dc.example.com/api/api/ipam/ip-addresses/
curl -s -H 'Authorization: Token netbox-token-placeholder' https://netbox.dc.example.com/api/api/ipam/vlans/
curl -s -H 'Authorization: Token netbox-token-placeholder' https://netbox.dc.example.com/api/api/circuits/circuits/
curl -s -H 'Authorization: Token netbox-token-placeholder' https://netbox.dc.example.com/api/api/tenancy/tenants/
curl -s -H 'Authorization: Token netbox-token-placeholder' https://netbox.dc.example.com/api/api/virtualization/virtual-machines/
curl -s -H 'Authorization: Token netbox-token-placeholder' https://netbox.dc.example.com/api/api/virtualization/clusters/
ssh pve-node1 'pct exec 615 -- journalctl -n 100'
hammer host info --name foreman.dc.example.com
hammer host errata list --host foreman.dc.example.com
hammer fact list --search 'host=foreman.dc.example.com'
ssh pve-node2 'pct exec 616 -- journalctl -n 100'
proxmox-backup-client snapshot list --output-format json
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --prune
ssh pve-node3 'pct exec 617 -- journalctl -n 100'
Vault server seal status and cluster info
ssh pve-node1 'pct exec 620 -- journalctl -n 100'
kcadm.sh get realms --server https://id.dc.example.com
kcadm.sh get users -r dc-example --server https://id.dc.example.com
List clients (service providers) in realm
kcadm.sh get clients -r dc-example --server https://id.dc.example.com
kcadm.sh get roles -r dc-example --server https://id.dc.example.com
kcadm.sh get client-session-stats -r dc-example --server https://id.dc.example.com
kcadm.sh get identity-provider/instances -r dc-example --server https://id.dc.example.com
kcadm.sh get realms/dc-example --server https://id.dc.example.com
ssh pve-node2 'pct exec 621 -- journalctl -n 100'
psql -h 172.20.1.222 -c "SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database ORDER BY pg_database_size(datname) DESC"
psql -h 172.20.1.222 -c "SELECT datname, count(*) FROM pg_stat_activity GROUP BY datname"
psql -h 172.20.1.222 -c "SELECT pid, now()-pg_stat_activity.query_start AS duration, query FROM pg_stat_activity WHERE state='active' ORDER BY duration DESC"
psql -h 172.20.1.222 -c "SELECT blocked_locks.pid AS blocked_pid, blocking_locks.pid AS blocking_pid, blocked_activity.query AS blocked_query FROM pg_catalog.pg_locks blocked_locks JOIN pg_catalog.pg_locks blocking_locks ON blocking_locks.locktype=blocked_locks.locktype JOIN pg_catalog.pg_stat_activity blocked_activity ON blocked_activity.pid=blocked_locks.pid WHERE NOT blocked_locks.granted"
psql -h 172.20.1.222 -c "SELECT client_addr, state, sent_lsn, write_lsn, flush_lsn, replay_lsn FROM pg_stat_replication"
psql -h 172.20.1.222 -d postgres -c 'VACUUM ANALYZE'
ssh pve-node1 'pct exec 622 -- journalctl -n 100'
ssh postgres@172.20.1.222 'pvecm status'
ssh postgres@172.20.1.222 'pvesm status'
ssh postgres@172.20.1.222 'pveversion && pvesh get /nodes/localhost/status'
List configured Caddy apps (http, tls, etc.)
curl -s http://localhost:2019/config/apps/
curl -s http://localhost:2019/config/apps/http/servers/
curl -s http://localhost:2019/config/apps/tls/certificates/
curl -s http://localhost:2019/config/apps/tls/automation/
Load new configuration from Caddyfile or JSON
caddy reload --config /etc/caddy/Caddyfile
caddy adapt --config /etc/caddy/Caddyfile
caddy validate --config /etc/caddy/Caddyfile
curl -s http://localhost:2019/reverse_proxy/upstreams
ssh pve-node1 'pct exec 612 -- journalctl -n 100'
curl -s http://172.20.1.230/nginx_status
echo | openssl s_client -servername web.dc.example.com -connect web.dc.example.com:443 2>/dev/null | openssl x509 -noout -dates
hammer host info --name web.dc.example.com
hammer host errata list --host web.dc.example.com
hammer fact list --search 'host=web.dc.example.com'
ssh pve-node2 'pct exec 630 -- journalctl -n 100'
docker ps --format 'table {{.Names}} {{.Status}} {{.Ports}}'
docker ps -a --format 'table {{.Names}} {{.Status}} {{.Image}}'
docker images --format 'table {{.Repository}} {{.Tag}} {{.Size}}'
docker compose -f /opt/compose/apps/docker-compose.yml up -d
docker compose -f /opt/compose/apps/docker-compose.yml down
docker compose -f /opt/compose/apps/docker-compose.yml ps
docker compose -f /opt/compose/apps/docker-compose.yml pull
docker compose -f /opt/compose/apps/docker-compose.yml logs --tail=100
docker compose -f /opt/compose/apps/docker-compose.yml restart
ssh pve-node2 'pct exec 631 -- journalctl -n 100'
ssh root@172.20.1.231 'pveversion && pvesh get /nodes/localhost/status'
ssh pve-node3 'pct exec 632 -- journalctl -n 100'
ssh root@172.20.1.232 'pveversion && pvesh get /nodes/localhost/status'
List cluster nodes with status and resources
kubectl get events -n default --sort-by=.lastTimestamp
kubectl get events -n kubevirt --sort-by=.lastTimestamp
virtctl start legacy-workload -n kubevirt
virtctl stop legacy-workload -n kubevirt
virtctl restart legacy-workload -n kubevirt
virtctl pause vm legacy-workload -n kubevirt
virtctl unpause vm legacy-workload -n kubevirt
virtctl console legacy-workload -n kubevirt
virtctl migrate legacy-workload -n kubevirt
kubectl get events -n argocd --sort-by=.lastTimestamp
glab project view infrastructure/dc-config
glab mr list -R infrastructure/dc-config
glab ci list -R infrastructure/dc-config
glab issue list -R infrastructure/dc-config
glab registry list -R infrastructure/dc-config
glab variable list -R infrastructure/dc-config
ssh pve-node1 'pct exec 614 -- journalctl -n 100'
ssh pve-node2 'pct exec 618 -- journalctl -n 100'
Show parsed Ansible inventory hosts and groups
ansible-inventory -i /etc/ansible/hosts --list
Show inventory host-group relationships as tree
ansible-inventory -i /etc/ansible/hosts --graph
ansible -i /etc/ansible/hosts all -m ping
ansible -i /etc/ansible/hosts all -m setup
ansible-playbook -i /etc/ansible/hosts /etc/ansible/site.yml
ansible-playbook -i /etc/ansible/hosts /etc/ansible/site.yml --check --diff
ansible-playbook /etc/ansible/site.yml --syntax-check
ssh ansible@172.20.1.245 'pveversion && pvesh get /nodes/localhost/status'
Show execution plan for infrastructure changes
terraform -chdir=/opt/terraform/dc apply -auto-approve
terraform -chdir=/opt/terraform/dc destroy -auto-approve
terraform -chdir=/opt/terraform/dc state list
terraform -chdir=/opt/terraform/dc workspace list
terraform -chdir=/opt/terraform/dc output
terraform -chdir=/opt/terraform/dc providers
terraform -chdir=/opt/terraform/dc validate
terraform -chdir=/opt/terraform/dc fmt -check
tofu -chdir=/opt/terraform/dc apply -auto-approve
tofu -chdir=/opt/terraform/dc destroy -auto-approve
tofu -chdir=/opt/terraform/dc state list
tofu -chdir=/opt/terraform/dc workspace list
terraform -chdir=/opt/opentofu/dc apply -auto-approve
terraform -chdir=/opt/opentofu/dc destroy -auto-approve
terraform -chdir=/opt/opentofu/dc state list
terraform -chdir=/opt/opentofu/dc workspace list
terraform -chdir=/opt/opentofu/dc output
terraform -chdir=/opt/opentofu/dc providers
terraform -chdir=/opt/opentofu/dc validate
terraform -chdir=/opt/opentofu/dc fmt -check
tofu -chdir=/opt/opentofu/dc apply -auto-approve
tofu -chdir=/opt/opentofu/dc destroy -auto-approve
tofu -chdir=/opt/opentofu/dc workspace list
curl -s -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"host.get","params":{"output":["hostid","host","status"]},"auth":"zabbix-token-placeholder","id":1}' http://172.20.1.250/api_jsonrpc.php/api_jsonrpc.php
curl -s -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"problem.get","params":{"output":"extend","recent":true,"sortfield":["eventid"],"sortorder":"DESC","limit":50},"auth":"zabbix-token-placeholder","id":1}' http://172.20.1.250/api_jsonrpc.php/api_jsonrpc.php
curl -s -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"trigger.get","params":{"output":["triggerid","description","priority"],"filter":{"value":1},"sortfield":"priority","sortorder":"DESC"},"auth":"zabbix-token-placeholder","id":1}' http://172.20.1.250/api_jsonrpc.php/api_jsonrpc.php
curl -s -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"template.get","params":{"output":["templateid","host","name"]},"auth":"zabbix-token-placeholder","id":1}' http://172.20.1.250/api_jsonrpc.php/api_jsonrpc.php
ssh pve-node3 'pct exec 650 -- journalctl -n 100'