summaryrefslogtreecommitdiff
path: root/.zsh/completion
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2020-02-11 14:39:39 +0100
committerTobias Klauser <tklauser@distanz.ch>2020-02-11 14:39:39 +0100
commit7c5796f1915c83738295f4c9d76fd0fa058e9aee (patch)
tree8bc1dab9e60f81b9b6150a64db3bbfca1503e54f /.zsh/completion
parenta6bf7f2a6533def3a7d02dca6f53f84763747105 (diff)
Add completion for eksctl
Diffstat (limited to '.zsh/completion')
-rw-r--r--.zsh/completion/_eksctl.zsh1067
1 files changed, 1067 insertions, 0 deletions
diff --git a/.zsh/completion/_eksctl.zsh b/.zsh/completion/_eksctl.zsh
new file mode 100644
index 0000000..8a89c9f
--- /dev/null
+++ b/.zsh/completion/_eksctl.zsh
@@ -0,0 +1,1067 @@
+#compdef _eksctl eksctl
+
+
+function _eksctl {
+ local -a commands
+
+ _arguments -C \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:' \
+ "1: :->cmnds" \
+ "*::arg:->args"
+
+ case $state in
+ cmnds)
+ commands=(
+ "create:Create resource(s)"
+ "get:Get resource(s)"
+ "update:Update resource(s)"
+ "upgrade:Upgrade resource(s)"
+ "delete:Delete resource(s)"
+ "set:Set values"
+ "unset:Unset values"
+ "scale:Scale resources(s)"
+ "drain:Drain resource(s)"
+ "utils:Various utils"
+ "completion:Generates shell completion scripts"
+ "version:Output the version of eksctl"
+ "help:Help about any command"
+ )
+ _describe "command" commands
+ ;;
+ esac
+
+ case "$words[1]" in
+ create)
+ _eksctl_create
+ ;;
+ get)
+ _eksctl_get
+ ;;
+ update)
+ _eksctl_update
+ ;;
+ upgrade)
+ _eksctl_upgrade
+ ;;
+ delete)
+ _eksctl_delete
+ ;;
+ set)
+ _eksctl_set
+ ;;
+ unset)
+ _eksctl_unset
+ ;;
+ scale)
+ _eksctl_scale
+ ;;
+ drain)
+ _eksctl_drain
+ ;;
+ utils)
+ _eksctl_utils
+ ;;
+ completion)
+ _eksctl_completion
+ ;;
+ version)
+ _eksctl_version
+ ;;
+ help)
+ _eksctl_help
+ ;;
+ esac
+}
+
+
+function _eksctl_create {
+ local -a commands
+
+ _arguments -C \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:' \
+ "1: :->cmnds" \
+ "*::arg:->args"
+
+ case $state in
+ cmnds)
+ commands=(
+ "cluster:Create a cluster"
+ "nodegroup:Create a nodegroup"
+ "iamserviceaccount:Create an iamserviceaccount - AWS IAM role bound to a Kubernetes service account"
+ "iamidentitymapping:Create an IAM identity mapping"
+ "fargateprofile:Create a Fargate profile"
+ )
+ _describe "command" commands
+ ;;
+ esac
+
+ case "$words[1]" in
+ cluster)
+ _eksctl_create_cluster
+ ;;
+ nodegroup)
+ _eksctl_create_nodegroup
+ ;;
+ iamserviceaccount)
+ _eksctl_create_iamserviceaccount
+ ;;
+ iamidentitymapping)
+ _eksctl_create_iamidentitymapping
+ ;;
+ fargateprofile)
+ _eksctl_create_fargateprofile
+ ;;
+ esac
+}
+
+function _eksctl_create_cluster {
+ _arguments \
+ '--alb-ingress-access[enable full access for alb-ingress-controller]' \
+ '--appmesh-access[enable full access to AppMesh]' \
+ '--asg-access[enable IAM policy for cluster-autoscaler]' \
+ '--authenticator-role-arn[AWS IAM role to assume for authenticator]:' \
+ '--auto-kubeconfig[save kubeconfig file by cluster name, e.g. "/home/tklauser/.kube/eksctl/clusters/beautiful-wardrobe-1581428364"]' \
+ '--cfn-role-arn[IAM role used by CloudFormation to call AWS API on your behalf]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '--external-dns-access[enable IAM policy for external-dns]' \
+ '--fargate[Create a Fargate profile scheduling pods in the default and kube-system namespaces onto Fargate]' \
+ '--full-ecr-access[enable full access to ECR]' \
+ '--install-vpc-controllers[Install VPC controller that'\''s required for Windows workloads]' \
+ '--kubeconfig[path to write kubeconfig (incompatible with --auto-kubeconfig)]:' \
+ '--managed[Create EKS-managed nodegroup]' \
+ '--max-pods-per-node[maximum number of pods per node (set automatically if unspecified)]:' \
+ '(-n --name)'{-n,--name}'[EKS cluster name (generated if unspecified, e.g. "beautiful-wardrobe-1581428364")]:' \
+ '--node-ami[Advanced use cases only. If '\''static'\'' is supplied (default) then eksctl will use static AMIs; if '\''auto'\'' is supplied then eksctl will automatically set the AMI based on version/region/instance type; if any other value is supplied it will override the AMI to use for the nodes. Use with extreme care.]:' \
+ '--node-ami-family[Advanced use cases only. If '\''AmazonLinux2'\'' is supplied (default), then eksctl will use the official AWS EKS AMIs (Amazon Linux 2); if '\''Ubuntu1804'\'' is supplied, then eksctl will use the official Canonical EKS AMIs (Ubuntu 18.04).]:' \
+ '--node-labels[Extra labels to add when registering the nodes in the nodegroup, e.g. "partition=backend,nodeclass=hugememory"]:' \
+ '(-P --node-private-networking)'{-P,--node-private-networking}'[whether to make nodegroup networking private]' \
+ '*--node-security-groups[Attach additional security groups to nodes, so that it can be used to allow extra ingress/egress access from/to pods]:' \
+ '(-t --node-type)'{-t,--node-type}'[node instance type]:' \
+ '--node-volume-size[node volume size in GB]:' \
+ '--node-volume-type[node volume type (valid options: gp2, io1, sc1, st1)]:' \
+ '*--node-zones[(inherited from the cluster if unspecified)]:' \
+ '--nodegroup-name[name of the nodegroup (generated if unspecified, e.g. "ng-111eb0c5")]:' \
+ '(-N --nodes)'{-N,--nodes}'[total number of nodes (for a static ASG)]:' \
+ '(-M --nodes-max)'{-M,--nodes-max}'[maximum nodes in ASG]:' \
+ '(-m --nodes-min)'{-m,--nodes-min}'[minimum nodes in ASG]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--set-kubeconfig-context[if true then current-context will be set in kubeconfig; if a context is already set then it will be overwritten]' \
+ '--ssh-access[control SSH access for nodes. Uses ~/.ssh/id_rsa.pub as default key path if enabled]' \
+ '--ssh-public-key[SSH public key to use for nodes (import from local path, or use existing EC2 key pair)]:' \
+ '--tags[A list of KV pairs used to tag the AWS resources (e.g. "Owner=John Doe,Team=Some Team")]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '--version[Kubernetes version (valid options: 1.12, 1.13, 1.14)]:' \
+ '--vpc-cidr[global CIDR to use for VPC]:' \
+ '--vpc-from-kops-cluster[re-use VPC from a given kops cluster]:' \
+ '--vpc-nat-mode[VPC NAT mode, valid options: HighlyAvailable, Single, Disable]:' \
+ '*--vpc-private-subnets[re-use private subnets of an existing VPC]:' \
+ '*--vpc-public-subnets[re-use public subnets of an existing VPC]:' \
+ '--without-nodegroup[if set, initial nodegroup will not be created]' \
+ '--write-kubeconfig[toggle writing of kubeconfig]' \
+ '*--zones[(auto-select if unspecified)]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_create_nodegroup {
+ _arguments \
+ '--alb-ingress-access[enable full access for alb-ingress-controller]' \
+ '--appmesh-access[enable full access to AppMesh]' \
+ '--asg-access[enable IAM policy for cluster-autoscaler]' \
+ '--cfn-role-arn[IAM role used by CloudFormation to call AWS API on your behalf]:' \
+ '--cluster[name of the EKS cluster to add the nodegroup to]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '*--exclude[nodegroups to exclude (list of globs), e.g.: '\''ng-team-?,prod-*'\'']:' \
+ '--external-dns-access[enable IAM policy for external-dns]' \
+ '--full-ecr-access[enable full access to ECR]' \
+ '*--include[nodegroups to include (list of globs), e.g.: '\''ng-team-?,prod-*'\'']:' \
+ '--managed[Create EKS-managed nodegroup]' \
+ '--max-pods-per-node[maximum number of pods per node (set automatically if unspecified)]:' \
+ '(-n --name)'{-n,--name}'[name of the new nodegroup (generated if unspecified, e.g. "ng-cb0d148f")]:' \
+ '--node-ami[Advanced use cases only. If '\''static'\'' is supplied (default) then eksctl will use static AMIs; if '\''auto'\'' is supplied then eksctl will automatically set the AMI based on version/region/instance type; if any other value is supplied it will override the AMI to use for the nodes. Use with extreme care.]:' \
+ '--node-ami-family[Advanced use cases only. If '\''AmazonLinux2'\'' is supplied (default), then eksctl will use the official AWS EKS AMIs (Amazon Linux 2); if '\''Ubuntu1804'\'' is supplied, then eksctl will use the official Canonical EKS AMIs (Ubuntu 18.04).]:' \
+ '--node-labels[Extra labels to add when registering the nodes in the nodegroup, e.g. "partition=backend,nodeclass=hugememory"]:' \
+ '(-P --node-private-networking)'{-P,--node-private-networking}'[whether to make nodegroup networking private]' \
+ '*--node-security-groups[Attach additional security groups to nodes, so that it can be used to allow extra ingress/egress access from/to pods]:' \
+ '(-t --node-type)'{-t,--node-type}'[node instance type]:' \
+ '--node-volume-size[node volume size in GB]:' \
+ '--node-volume-type[node volume type (valid options: gp2, io1, sc1, st1)]:' \
+ '*--node-zones[(inherited from the cluster if unspecified)]:' \
+ '(-N --nodes)'{-N,--nodes}'[total number of nodes (for a static ASG)]:' \
+ '(-M --nodes-max)'{-M,--nodes-max}'[maximum nodes in ASG]:' \
+ '(-m --nodes-min)'{-m,--nodes-min}'[minimum nodes in ASG]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--ssh-access[control SSH access for nodes. Uses ~/.ssh/id_rsa.pub as default key path if enabled]' \
+ '--ssh-public-key[SSH public key to use for nodes (import from local path, or use existing EC2 key pair)]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '--update-auth-configmap[Remove nodegroup IAM role from aws-auth configmap]' \
+ '--version[Kubernetes version (valid options: 1.12, 1.13, 1.14) [for nodegroups "auto" and "latest" can be used to automatically inherit version from the control plane or force latest]]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_create_iamserviceaccount {
+ _arguments \
+ '--approve[Apply the changes]' \
+ '*--attach-policy-arn[ARN of the policy where to create the iamserviceaccount]:' \
+ '--cfn-role-arn[IAM role used by CloudFormation to call AWS API on your behalf]:' \
+ '--cluster[name of the EKS cluster to add the iamserviceaccount to]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '*--exclude[iamserviceaccounts to exclude (list of globs), e.g.: '\''default/s3-reader,*/dynamo-*'\'']:' \
+ '*--include[iamserviceaccounts to include (list of globs), e.g.: '\''default/s3-reader,*/dynamo-*'\'']:' \
+ '--name[name of the iamserviceaccount to create]:' \
+ '--namespace[namespace where to create the iamserviceaccount]:' \
+ '--override-existing-serviceaccounts[create IAM roles for existing serviceaccounts and update the serviceaccount]' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_create_iamidentitymapping {
+ _arguments \
+ '--arn[ARN of the IAM role or user to create]:' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '*--group[Group within Kubernetes to which IAM role is mapped]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '--username[User name within Kubernetes to map to IAM role]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_create_fargateprofile {
+ _arguments \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '(-l --labels)'{-l,--labels}'[Kubernetes selector labels of the workloads to schedule on Fargate, e.g. k1=v1,k2=v2]:' \
+ '--name[Fargate profile'\''s name]:' \
+ '--namespace[Kubernetes namespace of the workloads to schedule on Fargate]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+
+function _eksctl_get {
+ local -a commands
+
+ _arguments -C \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:' \
+ "1: :->cmnds" \
+ "*::arg:->args"
+
+ case $state in
+ cmnds)
+ commands=(
+ "cluster:Get cluster(s)"
+ "nodegroup:Get nodegroup(s)"
+ "iamserviceaccount:Get iamserviceaccount(s)"
+ "iamidentitymapping:Get IAM identity mapping(s)"
+ "labels:Get nodegroup labels"
+ "fargateprofile:Get Fargate profile(s)"
+ )
+ _describe "command" commands
+ ;;
+ esac
+
+ case "$words[1]" in
+ cluster)
+ _eksctl_get_cluster
+ ;;
+ nodegroup)
+ _eksctl_get_nodegroup
+ ;;
+ iamserviceaccount)
+ _eksctl_get_iamserviceaccount
+ ;;
+ iamidentitymapping)
+ _eksctl_get_iamidentitymapping
+ ;;
+ labels)
+ _eksctl_get_labels
+ ;;
+ fargateprofile)
+ _eksctl_get_fargateprofile
+ ;;
+ esac
+}
+
+function _eksctl_get_cluster {
+ _arguments \
+ '(-A --all-regions)'{-A,--all-regions}'[List clusters across all supported regions]' \
+ '--chunk-size[return large lists in chunks rather than all at once, pass 0 to disable]:' \
+ '(-n --name)'{-n,--name}'[EKS cluster name]:' \
+ '(-o --output)'{-o,--output}'[specifies the output format (valid option: table, json, yaml)]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_get_nodegroup {
+ _arguments \
+ '--chunk-size[return large lists in chunks rather than all at once, pass 0 to disable]:' \
+ '--cluster[EKS cluster name]:' \
+ '(-n --name)'{-n,--name}'[Name of the nodegroup]:' \
+ '(-o --output)'{-o,--output}'[specifies the output format (valid option: table, json, yaml)]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_get_iamserviceaccount {
+ _arguments \
+ '--chunk-size[return large lists in chunks rather than all at once, pass 0 to disable]:' \
+ '--cluster[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '--name[name of the iamserviceaccount to delete]:' \
+ '--namespace[namespace where to delete the iamserviceaccount]:' \
+ '(-o --output)'{-o,--output}'[specifies the output format (valid option: table, json, yaml)]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_get_iamidentitymapping {
+ _arguments \
+ '--arn[ARN of the IAM role or user to create]:' \
+ '--chunk-size[return large lists in chunks rather than all at once, pass 0 to disable]:' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '(-o --output)'{-o,--output}'[specifies the output format (valid option: table, json, yaml)]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_get_labels {
+ _arguments \
+ '--cluster[EKS cluster name]:' \
+ '(-n --nodegroup)'{-n,--nodegroup}'[Nodegroup name]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_get_fargateprofile {
+ _arguments \
+ '--chunk-size[return large lists in chunks rather than all at once, pass 0 to disable]:' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '--name[Fargate profile'\''s name]:' \
+ '(-o --output)'{-o,--output}'[specifies the output format (valid option: table, json, yaml)]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+
+function _eksctl_update {
+ local -a commands
+
+ _arguments -C \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:' \
+ "1: :->cmnds" \
+ "*::arg:->args"
+
+ case $state in
+ cmnds)
+ commands=(
+ "cluster:Update cluster"
+ )
+ _describe "command" commands
+ ;;
+ esac
+
+ case "$words[1]" in
+ cluster)
+ _eksctl_update_cluster
+ ;;
+ esac
+}
+
+function _eksctl_update_cluster {
+ _arguments \
+ '--approve[Apply the changes]' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '(-n --name)'{-n,--name}'[EKS cluster name]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+
+function _eksctl_upgrade {
+ local -a commands
+
+ _arguments -C \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:' \
+ "1: :->cmnds" \
+ "*::arg:->args"
+
+ case $state in
+ cmnds)
+ commands=(
+ "nodegroup:Upgrade nodegroup"
+ )
+ _describe "command" commands
+ ;;
+ esac
+
+ case "$words[1]" in
+ nodegroup)
+ _eksctl_upgrade_nodegroup
+ ;;
+ esac
+}
+
+function _eksctl_upgrade_nodegroup {
+ _arguments \
+ '--cluster[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '--kubernetes-version[Kubernetes version]:' \
+ '--name[Nodegroup name]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+
+function _eksctl_delete {
+ local -a commands
+
+ _arguments -C \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:' \
+ "1: :->cmnds" \
+ "*::arg:->args"
+
+ case $state in
+ cmnds)
+ commands=(
+ "cluster:Delete a cluster"
+ "nodegroup:Delete a nodegroup"
+ "iamserviceaccount:Delete an IAM service account"
+ "iamidentitymapping:Delete a IAM identity mapping"
+ "fargateprofile:Delete Fargate profile"
+ )
+ _describe "command" commands
+ ;;
+ esac
+
+ case "$words[1]" in
+ cluster)
+ _eksctl_delete_cluster
+ ;;
+ nodegroup)
+ _eksctl_delete_nodegroup
+ ;;
+ iamserviceaccount)
+ _eksctl_delete_iamserviceaccount
+ ;;
+ iamidentitymapping)
+ _eksctl_delete_iamidentitymapping
+ ;;
+ fargateprofile)
+ _eksctl_delete_fargateprofile
+ ;;
+ esac
+}
+
+function _eksctl_delete_cluster {
+ _arguments \
+ '--cfn-role-arn[IAM role used by CloudFormation to call AWS API on your behalf]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '(-n --name)'{-n,--name}'[EKS cluster name]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-w --wait)'{-w,--wait}'[wait for deletion of all resources before exiting]' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_delete_nodegroup {
+ _arguments \
+ '--approve[Apply the changes]' \
+ '--cfn-role-arn[IAM role used by CloudFormation to call AWS API on your behalf]:' \
+ '--cluster[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '--drain[Drain and cordon all nodes in the nodegroup before deletion]' \
+ '*--exclude[nodegroups to exclude (list of globs), e.g.: '\''ng-team-?,prod-*'\'']:' \
+ '*--include[nodegroups to include (list of globs), e.g.: '\''ng-team-?,prod-*'\'']:' \
+ '(-n --name)'{-n,--name}'[Name of the nodegroup to delete]:' \
+ '--only-missing[Only delete nodegroups that are not defined in the given config file]' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '--update-auth-configmap[Remove nodegroup IAM role from aws-auth configmap]' \
+ '(-w --wait)'{-w,--wait}'[wait for deletion of all resources before exiting]' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_delete_iamserviceaccount {
+ _arguments \
+ '--approve[Apply the changes]' \
+ '--cfn-role-arn[IAM role used by CloudFormation to call AWS API on your behalf]:' \
+ '--cluster[name of the EKS cluster to delete the iamserviceaccount from]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '*--exclude[iamserviceaccounts to exclude (list of globs), e.g.: '\''default/s3-reader,*/dynamo-*'\'']:' \
+ '*--include[iamserviceaccounts to include (list of globs), e.g.: '\''default/s3-reader,*/dynamo-*'\'']:' \
+ '--name[name of the iamserviceaccount to delete]:' \
+ '--namespace[namespace where to delete the iamserviceaccount]:' \
+ '--only-missing[Only delete nodegroups that are not defined in the given config file]' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-w --wait)'{-w,--wait}'[wait for deletion of all resources before exiting]' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_delete_iamidentitymapping {
+ _arguments \
+ '--all[Delete all matching mappings instead of just one]' \
+ '--arn[ARN of the IAM role or user to create]:' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_delete_fargateprofile {
+ _arguments \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '--name[Fargate profile'\''s name]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-w --wait)'{-w,--wait}'[wait for wait for the deletion of the Fargate profile, which may take from a couple seconds to a couple minutes. before exiting]' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+
+function _eksctl_set {
+ local -a commands
+
+ _arguments -C \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:' \
+ "1: :->cmnds" \
+ "*::arg:->args"
+
+ case $state in
+ cmnds)
+ commands=(
+ "labels:Create or overwrite labels"
+ )
+ _describe "command" commands
+ ;;
+ esac
+
+ case "$words[1]" in
+ labels)
+ _eksctl_set_labels
+ ;;
+ esac
+}
+
+function _eksctl_set_labels {
+ _arguments \
+ '--cluster[EKS cluster name]:' \
+ '(-l --labels)'{-l,--labels}'[Create Labels]:' \
+ '(-n --nodegroup)'{-n,--nodegroup}'[Nodegroup name]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+
+function _eksctl_unset {
+ local -a commands
+
+ _arguments -C \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:' \
+ "1: :->cmnds" \
+ "*::arg:->args"
+
+ case $state in
+ cmnds)
+ commands=(
+ "labels:Create removeLabels"
+ )
+ _describe "command" commands
+ ;;
+ esac
+
+ case "$words[1]" in
+ labels)
+ _eksctl_unset_labels
+ ;;
+ esac
+}
+
+function _eksctl_unset_labels {
+ _arguments \
+ '--cluster[EKS cluster name]:' \
+ '(*-l *--labels)'{\*-l,\*--labels}'[List of labels to remove]:' \
+ '(-n --nodegroup)'{-n,--nodegroup}'[Nodegroup name]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+
+function _eksctl_scale {
+ local -a commands
+
+ _arguments -C \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:' \
+ "1: :->cmnds" \
+ "*::arg:->args"
+
+ case $state in
+ cmnds)
+ commands=(
+ "nodegroup:Scale a nodegroup"
+ )
+ _describe "command" commands
+ ;;
+ esac
+
+ case "$words[1]" in
+ nodegroup)
+ _eksctl_scale_nodegroup
+ ;;
+ esac
+}
+
+function _eksctl_scale_nodegroup {
+ _arguments \
+ '--cfn-role-arn[IAM role used by CloudFormation to call AWS API on your behalf]:' \
+ '--cluster[EKS cluster name]:' \
+ '(-n --name)'{-n,--name}'[Name of the nodegroup to scale]:' \
+ '(-N --nodes)'{-N,--nodes}'[total number of nodes (scale to this number)]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+
+function _eksctl_drain {
+ local -a commands
+
+ _arguments -C \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:' \
+ "1: :->cmnds" \
+ "*::arg:->args"
+
+ case $state in
+ cmnds)
+ commands=(
+ "nodegroup:Cordon and drain a nodegroup"
+ )
+ _describe "command" commands
+ ;;
+ esac
+
+ case "$words[1]" in
+ nodegroup)
+ _eksctl_drain_nodegroup
+ ;;
+ esac
+}
+
+function _eksctl_drain_nodegroup {
+ _arguments \
+ '--approve[Apply the changes]' \
+ '--cfn-role-arn[IAM role used by CloudFormation to call AWS API on your behalf]:' \
+ '--cluster[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '*--exclude[nodegroups to exclude (list of globs), e.g.: '\''ng-team-?,prod-*'\'']:' \
+ '*--include[nodegroups to include (list of globs), e.g.: '\''ng-team-?,prod-*'\'']:' \
+ '(-n --name)'{-n,--name}'[Name of the nodegroup to delete]:' \
+ '--only-missing[Only drain nodegroups that are not defined in the given config file]' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '--undo[Uncordone the nodegroup]' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+
+function _eksctl_utils {
+ local -a commands
+
+ _arguments -C \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:' \
+ "1: :->cmnds" \
+ "*::arg:->args"
+
+ case $state in
+ cmnds)
+ commands=(
+ "wait-nodes:Wait for nodes"
+ "write-kubeconfig:Write kubeconfig file for a given cluster"
+ "describe-stacks:Describe CloudFormation stack for a given cluster"
+ "update-cluster-stack:DEPRECATED: Use 'eksctl update cluster' instead"
+ "update-kube-proxy:Update kube-proxy add-on to ensure image matches Kubernetes control plane version"
+ "update-aws-node:Update aws-node add-on to latest released version"
+ "update-coredns:Update coredns add-on to ensure image matches the standard Amazon EKS version"
+ "update-cluster-logging:Update cluster logging configuration"
+ "associate-iam-oidc-provider:Setup IAM OIDC provider for a cluster to enable IAM roles for pods"
+ "install-vpc-controllers:Install Windows VPC controller to support running Windows workloads"
+ "update-cluster-endpoints:Update Kubernetes API endpoint access configuration"
+ "set-public-access-cidrs:Update public access CIDRs"
+ "nodegroup-health:Get nodegroup health for a managed node"
+ )
+ _describe "command" commands
+ ;;
+ esac
+
+ case "$words[1]" in
+ wait-nodes)
+ _eksctl_utils_wait-nodes
+ ;;
+ write-kubeconfig)
+ _eksctl_utils_write-kubeconfig
+ ;;
+ describe-stacks)
+ _eksctl_utils_describe-stacks
+ ;;
+ update-cluster-stack)
+ _eksctl_utils_update-cluster-stack
+ ;;
+ update-kube-proxy)
+ _eksctl_utils_update-kube-proxy
+ ;;
+ update-aws-node)
+ _eksctl_utils_update-aws-node
+ ;;
+ update-coredns)
+ _eksctl_utils_update-coredns
+ ;;
+ update-cluster-logging)
+ _eksctl_utils_update-cluster-logging
+ ;;
+ associate-iam-oidc-provider)
+ _eksctl_utils_associate-iam-oidc-provider
+ ;;
+ install-vpc-controllers)
+ _eksctl_utils_install-vpc-controllers
+ ;;
+ update-cluster-endpoints)
+ _eksctl_utils_update-cluster-endpoints
+ ;;
+ set-public-access-cidrs)
+ _eksctl_utils_set-public-access-cidrs
+ ;;
+ nodegroup-health)
+ _eksctl_utils_nodegroup-health
+ ;;
+ esac
+}
+
+function _eksctl_utils_wait-nodes {
+ _arguments \
+ '--kubeconfig[path to read kubeconfig]:' \
+ '(-m --nodes-min)'{-m,--nodes-min}'[minimum number of nodes to wait for]:' \
+ '--timeout[how long to wait]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_utils_write-kubeconfig {
+ _arguments \
+ '--authenticator-role-arn[AWS IAM role to assume for authenticator]:' \
+ '--auto-kubeconfig[save kubeconfig file by cluster name, e.g. "/home/tklauser/.kube/eksctl/clusters/<name>"]' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '--kubeconfig[path to write kubeconfig (incompatible with --auto-kubeconfig)]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--set-kubeconfig-context[if true then current-context will be set in kubeconfig; if a context is already set then it will be overwritten]' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_utils_describe-stacks {
+ _arguments \
+ '--all[include deleted stacks]' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '--events[include stack events]' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '--trail[lookup CloudTrail events for the cluster]' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_utils_update-cluster-stack {
+ _arguments \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_utils_update-kube-proxy {
+ _arguments \
+ '--approve[Apply the changes]' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_utils_update-aws-node {
+ _arguments \
+ '--approve[Apply the changes]' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_utils_update-coredns {
+ _arguments \
+ '--approve[Apply the changes]' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_utils_update-cluster-logging {
+ _arguments \
+ '--approve[Apply the changes]' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '*--disable-types[Log types to be disabled, the rest will be disabled. Supported log types: (all, none, api, audit, authenticator, controllerManager, scheduler)]:' \
+ '*--enable-types[Log types to be enabled. Supported log types: (all, none, api, audit, authenticator, controllerManager, scheduler)]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_utils_associate-iam-oidc-provider {
+ _arguments \
+ '--approve[Apply the changes]' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_utils_install-vpc-controllers {
+ _arguments \
+ '--approve[Apply the changes]' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_utils_update-cluster-endpoints {
+ _arguments \
+ '--approve[Apply the changes]' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '--private-access[access for private (VPC) clients]' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '--public-access[access for public clients]' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_utils_set-public-access-cidrs {
+ _arguments \
+ '--approve[Apply the changes]' \
+ '(-c --cluster)'{-c,--cluster}'[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_utils_nodegroup-health {
+ _arguments \
+ '--cluster[EKS cluster name]:' \
+ '(-f --config-file)'{-f,--config-file}'[load configuration from a file (or stdin if set to '\''-'\'')]:' \
+ '(-n --name)'{-n,--name}'[Name of the nodegroup]:' \
+ '(-p --profile)'{-p,--profile}'[AWS credentials profile to use (overrides the AWS_PROFILE environment variable)]:' \
+ '(-r --region)'{-r,--region}'[AWS region]:' \
+ '--timeout[maximum waiting time for any long-running operation]:' \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+
+function _eksctl_completion {
+ local -a commands
+
+ _arguments -C \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:' \
+ "1: :->cmnds" \
+ "*::arg:->args"
+
+ case $state in
+ cmnds)
+ commands=(
+ "bash:Generates bash completion scripts"
+ "zsh:Generates zsh completion scripts"
+ )
+ _describe "command" commands
+ ;;
+ esac
+
+ case "$words[1]" in
+ bash)
+ _eksctl_completion_bash
+ ;;
+ zsh)
+ _eksctl_completion_zsh
+ ;;
+ esac
+}
+
+function _eksctl_completion_bash {
+ _arguments \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_completion_zsh {
+ _arguments \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_version {
+ _arguments \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+
+function _eksctl_help {
+ _arguments \
+ '(-C --color)'{-C,--color}'[toggle colorized logs (valid options: true, false, fabulous)]:' \
+ '(-h --help)'{-h,--help}'[help for this command]' \
+ '(-v --verbose)'{-v,--verbose}'[set log level, use 0 to silence, 4 for debugging and 5 for debugging with AWS debug logging]:'
+}
+