Parent directory

hcloud.plugin.zsh

4055 bytes
  1# hcloud plugin for oh-my-zsh
  2# Hetzner Cloud CLI: https://github.com/hetznercloud/cli
  3
  4if (( ! $+commands[hcloud] )); then
  5  return
  6fi
  7
  8# If the completion file doesn't exist yet, we need to autoload it and
  9# bind it to `hcloud`. Otherwise, compinit will have already done that.
 10if [[ ! -f "$ZSH_CACHE_DIR/completions/_hcloud" ]]; then
 11  typeset -g -A _comps
 12  autoload -Uz _hcloud
 13  _comps[hcloud]=_hcloud
 14fi
 15
 16hcloud completion zsh 2> /dev/null >| "$ZSH_CACHE_DIR/completions/_hcloud" &|
 17
 18# Main alias
 19alias hc='hcloud'
 20
 21# Context management
 22alias hcctx='hcloud context'
 23alias hcctxls='hcloud context list'
 24alias hcctxu='hcloud context use'
 25alias hcctxc='hcloud context create'
 26alias hcctxd='hcloud context delete'
 27alias hcctxa='hcloud context active'
 28
 29# Server management
 30alias hcs='hcloud server'
 31alias hcsl='hcloud server list'
 32alias hcsc='hcloud server create'
 33alias hcsd='hcloud server delete'
 34alias hcsdesc='hcloud server describe'
 35alias hcspoff='hcloud server poweroff'
 36alias hcspon='hcloud server poweron'
 37alias hcsr='hcloud server reboot'
 38alias hcsreset='hcloud server reset'
 39alias hcssh='hcloud server ssh'
 40alias hcse='hcloud server enable-rescue'
 41alias hcsdr='hcloud server disable-rescue'
 42alias hcsip='hcloud server ip'
 43
 44# Server actions
 45alias hcsa='hcloud server attach-iso'
 46alias hcsda='hcloud server detach-iso'
 47alias hcscip='hcloud server change-type'
 48
 49# Volume management
 50alias hcv='hcloud volume'
 51alias hcvl='hcloud volume list'
 52alias hcvc='hcloud volume create'
 53alias hcvd='hcloud volume delete'
 54alias hcvdesc='hcloud volume describe'
 55alias hcva='hcloud volume attach'
 56alias hcvda='hcloud volume detach'
 57alias hcvr='hcloud volume resize'
 58
 59# Network management
 60alias hcn='hcloud network'
 61alias hcnl='hcloud network list'
 62alias hcnc='hcloud network create'
 63alias hcnd='hcloud network delete'
 64alias hcndesc='hcloud network describe'
 65alias hcnas='hcloud network add-subnet'
 66alias hcnds='hcloud network delete-subnet'
 67alias hcnar='hcloud network add-route'
 68alias hcndr='hcloud network delete-route'
 69
 70# Floating IP management
 71alias hcfip='hcloud floating-ip'
 72alias hcfipl='hcloud floating-ip list'
 73alias hcfipc='hcloud floating-ip create'
 74alias hcfipd='hcloud floating-ip delete'
 75alias hcfipdesc='hcloud floating-ip describe'
 76alias hcfipa='hcloud floating-ip assign'
 77alias hcfipua='hcloud floating-ip unassign'
 78
 79# SSH key management
 80alias hcsk='hcloud ssh-key'
 81alias hcskl='hcloud ssh-key list'
 82alias hcskc='hcloud ssh-key create'
 83alias hcskd='hcloud ssh-key delete'
 84alias hcskdesc='hcloud ssh-key describe'
 85alias hcsku='hcloud ssh-key update'
 86
 87# Image management
 88alias hci='hcloud image'
 89alias hcil='hcloud image list'
 90alias hcid='hcloud image delete'
 91alias hcidesc='hcloud image describe'
 92alias hciu='hcloud image update'
 93
 94# Firewall management
 95alias hcfw='hcloud firewall'
 96alias hcfwl='hcloud firewall list'
 97alias hcfwc='hcloud firewall create'
 98alias hcfwd='hcloud firewall delete'
 99alias hcfwdesc='hcloud firewall describe'
100alias hcfwar='hcloud firewall add-rule'
101alias hcfwdr='hcloud firewall delete-rule'
102alias hcfwas='hcloud firewall apply-to-resource'
103alias hcfwrs='hcloud firewall remove-from-resource'
104
105# Load balancer management
106alias hclb='hcloud load-balancer'
107alias hclbl='hcloud load-balancer list'
108alias hclbc='hcloud load-balancer create'
109alias hclbd='hcloud load-balancer delete'
110alias hclbdesc='hcloud load-balancer describe'
111alias hclbu='hcloud load-balancer update'
112alias hclbas='hcloud load-balancer add-service'
113alias hclbds='hcloud load-balancer delete-service'
114alias hclbat='hcloud load-balancer add-target'
115alias hclbdt='hcloud load-balancer delete-target'
116
117# Certificate management
118alias hccert='hcloud certificate'
119alias hccertl='hcloud certificate list'
120alias hccertc='hcloud certificate create'
121alias hccertd='hcloud certificate delete'
122alias hccertdesc='hcloud certificate describe'
123alias hccertu='hcloud certificate update'
124
125# Datacenter and location info
126alias hcdc='hcloud datacenter list'
127alias hcloc='hcloud location list'
128alias hcst='hcloud server-type list'
129alias hcit='hcloud image list --type system'