All Projects → kazhala → fzf.aws

kazhala / fzf.aws

Licence: MIT license
🌀 Using fuzzy finder to perform AWS operations on the command line

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to fzf.aws

Dotfiles
Well documented awesome dotfiles 😍 Many neovim lua configs, handy zsh/bash functions, fzf functions + more
Stars: ✭ 64 (+1.59%)
Mutual labels:  fzf, fzf-scripts
Enhancd
🚀 A next-generation cd command with your interactive filter
Stars: ✭ 2,049 (+3152.38%)
Mutual labels:  fzf, fzf-scripts
fzf-zsh-plugin
ZSH plugin to enable fzf searches of a lot more stuff - docker, tmux, homebrew and more.
Stars: ✭ 117 (+85.71%)
Mutual labels:  fzf, fzf-scripts
Ytfzf
A posix script to find and watch youtube videos from the terminal. (Without API)
Stars: ✭ 2,212 (+3411.11%)
Mutual labels:  fzf
Fzf Fs
[Discontinued] 🌸 Simple file browsing/navigation with https://github.com/junegunn/fzf
Stars: ✭ 124 (+96.83%)
Mutual labels:  fzf
Psfzf
A PowerShell wrapper around the fuzzy finder fzf
Stars: ✭ 187 (+196.83%)
Mutual labels:  fzf
Dotfiles
🐧 Simple, fast, productivity-increaser dotfiles
Stars: ✭ 213 (+238.1%)
Mutual labels:  fzf
Forgit
💤 A utility tool powered by fzf for using git interactively.
Stars: ✭ 1,823 (+2793.65%)
Mutual labels:  fzf
Zoxide
A smarter cd command. Supports all major shells.
Stars: ✭ 4,422 (+6919.05%)
Mutual labels:  fzf
Z.lua
⚡ A new cd command that helps you navigate faster by learning your habits.
Stars: ✭ 2,164 (+3334.92%)
Mutual labels:  fzf
Twf
Standalone tree view file explorer, inspired by fzf.
Stars: ✭ 196 (+211.11%)
Mutual labels:  fzf
Fzf Scripts
a collection of scripts that rely on https://github.com/junegunn/fzf
Stars: ✭ 158 (+150.79%)
Mutual labels:  fzf
Fzf Tab Completion
Tab completion using fzf
Stars: ✭ 127 (+101.59%)
Mutual labels:  fzf
Sway Launcher Desktop
TUI Application launcher with Desktop Entry support. Made for SwayWM, but runs anywhere
Stars: ✭ 188 (+198.41%)
Mutual labels:  fzf
1pass
A caching wrapper for the 1Passworld CLI
Stars: ✭ 117 (+85.71%)
Mutual labels:  fzf
Black Void Zsh
🔮 Awesome, Customable Zsh Starter Kit 🌠🌠
Stars: ✭ 206 (+226.98%)
Mutual labels:  fzf
Nvim Lspfuzzy
A Neovim plugin to make the LSP client use FZF
Stars: ✭ 107 (+69.84%)
Mutual labels:  fzf
Kube Fzf
Shell commands using kubectl and fzf for command-line fuzzy searching of Kubernetes Pods.
Stars: ✭ 153 (+142.86%)
Mutual labels:  fzf
Tmux 1password
🔑 Access your 1Password login items within tmux!
Stars: ✭ 167 (+165.08%)
Mutual labels:  fzf
Tmux Fzf Url
🚀 Quickly open urls on your terminal screen!
Stars: ✭ 227 (+260.32%)
Mutual labels:  fzf

fzf ❤️ aws

Test Lint Travis Coverage AWS CodeBuild

Package version Python version Platform Code Lint: pyright Code Style: black License

Note: Repository archived. All development efforts have now moved to s3fm.

fzfaws demo

About

fzfaws is a python utility to interact with aws on the command line through fzf interface. The primary goal of this project is to enhance the aws command line experience by reducing the number of times to travel between the browser and terminal to search for aws-cli commands or even aws arn, id etc just for the sake of copy/pasting them for some simple operations.

fzfaws is still a young project and will continue to develop to support more services. Table below lists some of the high level view of the supported feature, there are advanced flags for each individual operations. For example, EC2 ssh instance support tunnelling and most S3 operations take --version flag to operate on versioned objects. Checkout wiki for detailed commands usage.

Service Support
EC2 ssh instance, start instance, stop instance, terminate instance, reboot instance, list instance/vpc related objects information
S3 upload files/directories, download files/directories, move objects/directories between buckets, update object attributes, delete objects, generate presign url, list objects/buckets information
CloudFormation create stack, update stack, create/execute changeset, detect drift, validate template, delete stack, list stack/resources information
Coming soon ... Coming soon ...

fzfaws is not developed as a replacement tool for aws-cli or any alternatives, it should be used in conjunction with them, hence it will not implement solution for all actions. With that said, feature request are very welcome, I would like to discuss and consider them.

Requirements

System

fzfaws currently only has support for MacOS and Linux systems. For Windows system support, there will need some work to be done on the pyfzf module as well as the ssh_instance module, PR welcome. You could always utilise the docker image of fzfaws on any system, checkout wiki to consult how to use the image. It should theoretically support Windows WSL, if you are getting error message please let me know.

Python

fzfaws require Python version 3.6+ in order to function properly.

Optional dependencies

  • aws-cli: fzfaws uses aws-cli to perform s3 sync operations, only required if you want to use fzfaws s3 upload --sync.
  • fd: improve local file search speed, fzfaws will use fd over find if fd is installed.

Install

fzfaws comes with fzf binary, it doesn't require fzf to be installed. Main reason is to allow simple download procedure even on remote instances.

pip3 install fzfaws

Usage

Getting started guide and individual service guide are documented in wiki.

Motivation & Background

fzfaws started off as a sets of bash scripts that I wrote to simplify the way I start/stop/terminate/ssh my ec2 instances. I also implemented s3 functionalities afterwards because I want an easier way to search my bucket. Later on I also decided to cover CloudFormation because I often need to update my IP parameter in some stacks which I don't want to do it in aws console. Since I was learning Python, I decided to give it a go in Python because it can process YAML and JSON much easier. You could find the half bash half Python version in this branch.

As the scripts grow, I decided to make a dedicated project and re-write everything in Python. It was a great help for me to understand more about aws and this project definitely took some positive impact (mainly ec2, s3, cloudformation) on my aws certification exams.

It's more of a learning project for me, it is also my first python package and I'm still learning stuff along the way, some code style/implementation might drastically differ from others, I'm trying my best to refactor everything to align.

Leave a star :)

Testing

fzfaws is fully tested using the unittest module, heavy mocking were implemented to thoroughly test the interaction with aws as well as the fzf processing. Due to the limited data set on my personal aws account, I couldn't really test how fzfaws would perform under extreme data load, please fire up issues if you face any.

Related projects

  • aws-fuzzy-finder: A clean and well written project focus on ssh into EC2 instance.

Credit

  • credit to fzf.
  • credit to boto3.
  • credit to aws-fuzzy-finder for it's fzf-binary detection usage.
  • credit to this answer for the method to walk s3 folder.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].