You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
4.0 KiB
129 lines
4.0 KiB
# hcloud plugin for oh-my-zsh |
|
# Hetzner Cloud CLI: https://github.com/hetznercloud/cli |
|
|
|
if (( ! $+commands[hcloud] )); then |
|
return |
|
fi |
|
|
|
# If the completion file doesn't exist yet, we need to autoload it and |
|
# bind it to `hcloud`. Otherwise, compinit will have already done that. |
|
if [[ ! -f "$ZSH_CACHE_DIR/completions/_hcloud" ]]; then |
|
typeset -g -A _comps |
|
autoload -Uz _hcloud |
|
_comps[hcloud]=_hcloud |
|
fi |
|
|
|
hcloud completion zsh 2> /dev/null >| "$ZSH_CACHE_DIR/completions/_hcloud" &| |
|
|
|
# Main alias |
|
alias hc='hcloud' |
|
|
|
# Context management |
|
alias hcctx='hcloud context' |
|
alias hcctxls='hcloud context list' |
|
alias hcctxu='hcloud context use' |
|
alias hcctxc='hcloud context create' |
|
alias hcctxd='hcloud context delete' |
|
alias hcctxa='hcloud context active' |
|
|
|
# Server management |
|
alias hcs='hcloud server' |
|
alias hcsl='hcloud server list' |
|
alias hcsc='hcloud server create' |
|
alias hcsd='hcloud server delete' |
|
alias hcsdesc='hcloud server describe' |
|
alias hcspoff='hcloud server poweroff' |
|
alias hcspon='hcloud server poweron' |
|
alias hcsr='hcloud server reboot' |
|
alias hcsreset='hcloud server reset' |
|
alias hcssh='hcloud server ssh' |
|
alias hcse='hcloud server enable-rescue' |
|
alias hcsdr='hcloud server disable-rescue' |
|
alias hcsip='hcloud server ip' |
|
|
|
# Server actions |
|
alias hcsa='hcloud server attach-iso' |
|
alias hcsda='hcloud server detach-iso' |
|
alias hcscip='hcloud server change-type' |
|
|
|
# Volume management |
|
alias hcv='hcloud volume' |
|
alias hcvl='hcloud volume list' |
|
alias hcvc='hcloud volume create' |
|
alias hcvd='hcloud volume delete' |
|
alias hcvdesc='hcloud volume describe' |
|
alias hcva='hcloud volume attach' |
|
alias hcvda='hcloud volume detach' |
|
alias hcvr='hcloud volume resize' |
|
|
|
# Network management |
|
alias hcn='hcloud network' |
|
alias hcnl='hcloud network list' |
|
alias hcnc='hcloud network create' |
|
alias hcnd='hcloud network delete' |
|
alias hcndesc='hcloud network describe' |
|
alias hcnas='hcloud network add-subnet' |
|
alias hcnds='hcloud network delete-subnet' |
|
alias hcnar='hcloud network add-route' |
|
alias hcndr='hcloud network delete-route' |
|
|
|
# Floating IP management |
|
alias hcfip='hcloud floating-ip' |
|
alias hcfipl='hcloud floating-ip list' |
|
alias hcfipc='hcloud floating-ip create' |
|
alias hcfipd='hcloud floating-ip delete' |
|
alias hcfipdesc='hcloud floating-ip describe' |
|
alias hcfipa='hcloud floating-ip assign' |
|
alias hcfipua='hcloud floating-ip unassign' |
|
|
|
# SSH key management |
|
alias hcsk='hcloud ssh-key' |
|
alias hcskl='hcloud ssh-key list' |
|
alias hcskc='hcloud ssh-key create' |
|
alias hcskd='hcloud ssh-key delete' |
|
alias hcskdesc='hcloud ssh-key describe' |
|
alias hcsku='hcloud ssh-key update' |
|
|
|
# Image management |
|
alias hci='hcloud image' |
|
alias hcil='hcloud image list' |
|
alias hcid='hcloud image delete' |
|
alias hcidesc='hcloud image describe' |
|
alias hciu='hcloud image update' |
|
|
|
# Firewall management |
|
alias hcfw='hcloud firewall' |
|
alias hcfwl='hcloud firewall list' |
|
alias hcfwc='hcloud firewall create' |
|
alias hcfwd='hcloud firewall delete' |
|
alias hcfwdesc='hcloud firewall describe' |
|
alias hcfwar='hcloud firewall add-rule' |
|
alias hcfwdr='hcloud firewall delete-rule' |
|
alias hcfwas='hcloud firewall apply-to-resource' |
|
alias hcfwrs='hcloud firewall remove-from-resource' |
|
|
|
# Load balancer management |
|
alias hclb='hcloud load-balancer' |
|
alias hclbl='hcloud load-balancer list' |
|
alias hclbc='hcloud load-balancer create' |
|
alias hclbd='hcloud load-balancer delete' |
|
alias hclbdesc='hcloud load-balancer describe' |
|
alias hclbu='hcloud load-balancer update' |
|
alias hclbas='hcloud load-balancer add-service' |
|
alias hclbds='hcloud load-balancer delete-service' |
|
alias hclbat='hcloud load-balancer add-target' |
|
alias hclbdt='hcloud load-balancer delete-target' |
|
|
|
# Certificate management |
|
alias hccert='hcloud certificate' |
|
alias hccertl='hcloud certificate list' |
|
alias hccertc='hcloud certificate create' |
|
alias hccertd='hcloud certificate delete' |
|
alias hccertdesc='hcloud certificate describe' |
|
alias hccertu='hcloud certificate update' |
|
|
|
# Datacenter and location info |
|
alias hcdc='hcloud datacenter list' |
|
alias hcloc='hcloud location list' |
|
alias hcst='hcloud server-type list' |
|
alias hcit='hcloud image list --type system'
|
|
|