• Amir Tahvildaran's avatar
    aws: improve check for aws_completer - unhardcode path (#9123) · db3d05fe
    Amir Tahvildaran authored
    Closes #9122
    
    The current check is assuming that the aws_completer is installed
    globally, it then runs the command without that path
    
    I have aws_completer in ~/.local/bin/aws_completer
    
    This changes the check to see if the command exists instead of
    concerning itself with where it in installed. This test matches the
    behavior of just running the command.
    Unverified
    db3d05fe

aws

This plugin provides completion support for awscli and a few utilities to manage AWS profiles and display them in the prompt.

To use it, add aws to the plugins array in your zshrc file.

plugins=(... aws)

Plugin commands

  • asp [<profile>]: sets $AWS_PROFILE and $AWS_DEFAULT_PROFILE (legacy) to <profile>. It also sets $AWS_EB_PROFILE to <profile> for the Elastic Beanstalk CLI. Run asp without arguments to clear the profile.

  • agp: gets the current value of $AWS_PROFILE.

  • aws_change_access_key: changes the AWS access key of a profile.

  • aws_profiles: lists the available profiles in the $AWS_CONFIG_FILE (default: ~/.aws/config). Used to provide completion for the asp function.

Plugin options

  • Set SHOW_AWS_PROMPT=false in your zshrc file if you want to prevent the plugin from modifying your RPROMPT. Some themes might overwrite the value of RPROMPT instead of appending to it, so they'll need to be fixed to see the AWS profile prompt.

Theme

The plugin creates an aws_prompt_info function that you can use in your theme, which displays the current $AWS_PROFILE. It uses two variables to control how that is shown:

  • ZSH_THEME_AWS_PREFIX: sets the prefix of the AWS_PROFILE. Defaults to <aws:.

  • ZSH_THEME_AWS_SUFFIX: sets the suffix of the AWS_PROFILE. Defaults to >.